Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kol1.docx
Скачиваний:
2
Добавлен:
08.05.2019
Размер:
36.98 Кб
Скачать

18. Які базові процедури і функції роботи з графікою ви знаєте?

initgraph(int driver, int mode, char * path) - ініціалізує графічний режим

char* getdrivername() - повертає імя поточного драйвера

int getgraphmode() - повертає номер графічного режиму

int getmaxmode() - повертає максимальний номер графічного режиму

getmoderange(driver, &low, &high) - записує у low та high відповідно мінімальний та максимальний номери графічного режимів

restorecrtmode() - відновлює текстовий режим

setactivepage(int page) - встановлює активною відеосторінку під номером page

setvisualpage(int page) - встановлює візуальною відеосторінку під номером page

setviewport(int left, int top, int right, int bottom, int clip) - встановлює вікно. Якщо clip=1, то края обрізаються, інакше не обрізаються.

clearviewport() - стирає область перегляду і встановлює покажчик в точку (0, 0)

imagesize(int left, int top, int right, int bottom) - визначає область памяті для малюнку

getimage(int left, int top, int right, int bottom, void * bitmap) - зберігає зображення у вказану область памяті

putimage(int left, int top, int right, int bottom, void * bitmap, int cp) - виводить на екран фрагмент зображення із вказаної області памяті

getx() - повертає абсцису покажчика

gety() - повертає ординату покажчика

getmaxx() - повертає максимальну абсцису монітора

getmaxy() - повертає максимальну ординату монітора

moveto(int x, int y) - переміщує покажчик у вказану позицію

moverel(int dx, int dy) - переміщує покажчик на відносну відстань

rectangle(int left, int top, int right, int bottom) - малює прямокутник із вказаними двома вершинами

circle(int x, int y, int r) - виводить коло (вказуються координати центра та радіус)

arc(int x, int y, int stangle, int outangle, int radius) - виводить дугу

ellipse(int x, int y, int stangle, int outangle, int rx, int ry) - виводить еліпс

line(int x1, int y1, int x2, int y2) - виводить лінію між двома точками

lineto(int x, int y) - виводить лінію з початком у покажчику і кінці у вказаних координатах

linerel(int dx, int dy) - виводить лінію з початком у покажчику і кінці у вказаних відносних координатах

outtext(char * str) - виводить деякий текст там, де покажчик

outtextxy(int x, int y, char * str) - виводить текст у заданих координатах

settextstyle(int shrift, int napryam, int size) - встановлює стиль для тексту

setlinestyle(int style, int r, int weight) - встановлює стиль для лінії

int getbkcolor() - повертає поточний колір фону

int getcolor() - повертає поточний основний колір

setbkcolor(int col) - встановлює колір фону

setcolor(int c) - встановлює основний колір

int getmaxcolor() - повертає максимальний колір

19. Яким чином здійснюється переключення між текстовим і графічним режимом?

щоб потрапити в текстовий режим визивається функція RestareCrtMode

а щоб потрапити в графічний треба знову викликати InitGraph

20. Які особливості має координатна сітка екрану в графічному режимі

Для побудови зображення на екрані використовується прямокутна система координат. Відлік починається від верхнього лівого кутка екрана з нуля. Значення Х (стовпчик) збільшується зліва направо, значення (рядок) збільшується зверху вниз. Щоб будувати зображення, необхідно вказувати точку початку виведення. В графічних режимах існує невидимий поточний покажчик СР (Current Pointer). Процедура MoveTo(X, Y) переміщує поточний покажчик у точку з координатами X, Y. Процедура MoveRel(d, d) переміщує СР на dХ точок по горизонталі і на d точок по вертикалі щодо СР. Для контролю місця розташування СР використовують функції GetХ і Get, що повертають відповідно значення Х- і У-координати СР. Для того, щоб дізнатися про максимально припустимі значення СР для встановленого режиму, використовуються функції GetMax: integer і GetMax: integer.

Графічний екран може розглядатися як одне велике або декілька менших за розміром вікон. Вікно – це прямокутна область екрана, що виконує функції повного екрана. Після установки вікна інша площина екрана ніби не існує, і все введення-виведення здійснюється через це вікно. У кожний момент може бути активним тільки одне вікно. Якщо вікон декілька, то за переведення введення-виведення в потрібне вікно відповідає програміст.

Для створення вікна призначена процедура SetViewPort(x1, х2, у1, у2: integer; Clip: boolean), де х1, у1 – координати лівого верхнього кутка, х2, у2 – координати правого нижнього кутка вікна. Параметр Clip визначає, буде рисунок відсікатись при виході за межі вікна (Clip:=True) чи ні.

Для очищення вікна використовується процедура ClearVierPort. Після її виконання всі зображення у вікні стираються, і СР встановлюється в ліву верхню точку вікна. Координатну систему повного екрана можна відновити за допомогою ClearDevice або задавши в процедурі установлення вікна максимально можливі значення:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]