ГРАФІКА В Паскаль
Ініціалізації І ЗАКРИТТЯ ГРАФІЧНОГО РЕЖИМУ
Процедури і функції, що дозволяють працювати в графічному режимі, зосереджені в бібліотеці GRAPH.
Перед початком роботи в графічному режимі, необхідно визначити в якій папці, на комп'ютері, розміщений драйвер графічного режиму.
Драйвер графічного режиму - це файл, який дозволяє програмі правильно і швидко працювати в графічному режимі.
За замовчуванням, в комплект програми Паскаль включений драйвер графічного режиму «EgaVga. bgi », який дозволяє працювати в режимі з розширенням 640х480 пікселів з палітрою з 16 кольорів.
Для включення (ініціалізації) графічного режиму необхідно скористатися процедурою InitGraph.
InitGraph (Номер_Драйвера, Номер_режіма, Путь_к_драйверу);
· Номер_драйвера - целочисленная змінна, що містить номер драйвера в таблиці драйверів. Якщо змінна = 0, то комп'ютер вибере драйвер автоматично. Для більшої точності, для автоматичного вибору драйвера, краще привласнювати змінної замість значення 0, значення Detect.
· Номер_режіма - целочисленная змінна, що містить номер режиму з доступних в заданому драйвер. У стандартному драйвер, існує тільки один режим 640х480х16, для нього використовується номер режиму = 0.
· Путь_к_драйверу - рядок в якій записано шлях до папки, в якій зберігатися драйвер.
Для закриття графічного режиму використовується процедура CloseGraph.
CloseGraph; - процедура закриває графічний режим.
Програма включає графічний режим, драйвер якого розташований в папці 'c: \ BP \ BGI' і відразу ж закриває його.
Var Gdriver, GMode: integer;
InitGraph (Gdriver, Gmode, 'c: \ BP \ BGI');
Заливка, задана користувачем (12 - UserFill) встановлюється процедурою SetFillPattern (Шаблон, Колір);
де Шаблон - змінна типу FillPatternType (див. пункт «Шаблон заливки»);
Колір - це колір майбутньої заливки, визначається числом від 0 до 15
· Колір - колір заливки, визначається числом від 0 до 15.
Для шаблонів 0 і 12 колір заливки зумовлений і тому в цих шаблонах даний параметр не враховується.
Нагадаємо, чорного кольору в графічному режимі немає і заливка кольору black (0) буде прати вміст екрану.
Програма виводить на екран квадрати, з різною заливкою
const dg: integer = detect; dm: integer = 0;
var x, y, dx, dy, i: integer;
InitGraph (dg, dm, 'c: \ bp \ bgi'); x: = 50; y: = 50; dx: = 30; dy: = 30;
ЗАЛИВКА довільну замкнену ФІГУР
FloodFill (x, y, Колір кордону) - заливає стилем заливки (команда SetFillStyle) весь простір від точки з координатами x, y до кордону заданого кольору.
Програма малює паралелепіпед з червоною обведенням і різної заливкою для кожної грані, екран теж заливається сірої заливкою.
const DriverG: integer = Detect; DriverM: integer = 0;
Pattern: FillPatternType = (204,204,204,204,204,204,204,204);
РИСОВАНИЕ довільного багатокутника
Багатокутник можна намалювати, використовуючи кілька команд Line, а можна, використовуючи одну команду DrawPoly.
DrawPoly (Колічество_точек, Массів_Коордінат) - малює ламану лінію за заданими координатами
· Кількість точок - вказує, скільки точок бере участь в малюванні ламаної лінії. Якщо треба намалювати багатокутник, то лінії треба замкнути, а отже перша і остання точки повинні мати однакові координати.
· Масив координат - масив пар цілих чисел (integer) кожна пара чисел - це координати Х, Y опорних точок
Для зручності роботи з точками в модулі Graph створений тип даних
Таким чином, для завдання масиву точок можна використовувати або масив змінних типу PointType, або масив змінних типу integer.
Програма малює два трикутника, один з допомогою массіваPointType, другий за допомогою массіваInteger.
const DG: integer = Detect; DM: Integer = 0;
begin InitGraph (Dg, Dm, 'c: \ Bp \ Bgi');