- •Що таке роздільна здатність?
- •Що таке конвертація даних графічних форматів та якими технічними засобами
- •Як створити векторне зображення та здійснити зміни у ньому засобами Корела?
- •Яким чином здійснювати масштабування растрових і векторних зображень
- •Як здійснюється змішування кольору на комп’ютері?
- •Охарактеризуйте основні схеми стискання зображень
- •14. Охарактеризуйте засоби створення текстур
- •15. Апаратна та програмна підтримка графіки
- •16. Для чого необхідно підключення драйверів монітора при програмуванні графіки
- •18. Які базові процедури і функції роботи з графікою ви знаєте?
- •19. Яким чином здійснюється переключення між текстовим і графічним режимом?
- •20. Які особливості має координатна сітка екрану в графічному режимі
- •21. Що таке поточний покажчик?
- •22. Яким чином здійснюється керування кольором і стилем геометричних фігур і тексту що виводиться?
- •23. Що таке відео сторінка?
- •25. Методи пастеризації кола і еліпса
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 або задавши в процедурі установлення вікна максимально можливі значення: