Тема №3 Графічний модуль GraphABC

Тема №3 Графічний модуль GraphABC

Система ABC Pascal має чудову графічну бібліотеку. Для її модимкнення після заголовка програми необхідно написатиUses GraphABC. Модуль GraphABC містить константи, типи, процедури та функції для малювання у графічному вікні. Вони поділяються на кілька груп:

* Дії з пензлем

* Дії з кольором

* Дії зі шрифтом

* Дії з точками та прямокутниками

* Дії з малюнками

* Дії з пером

* Дії з графічним вікном

Розглянемо відразу приклад:

Program Gr01;

Uses GraphABC;

begin

Line(0,0, WindowWidth, WindowHeight)

Line(0,WindowHeight, WindowWidth, 0)

end.

Процедура SetWindowSize встановлює розмір графічного вікна 256×256 пікселів.

Процедура SetPenColor визначає колір малювання ліній. Функція RGB повертає колір, заданий своїми Red, Green, Blue компонентами. Процедура Line малює лінію з точки, заданої першою парою координат, точку, задану другою парою координат. Функції WindowWidth і WindowHeight повертають поточні значення ширини і висоти графічного вікна (отже, якщо ви зміните розмір вікна в процедурі SetWindowSize, лінії все одно будуть проводитися з кута в кут).

* Координата x росте зліва направо від 0 до значення WindowWidth

* Координата y росте зверху вниз від 0 до значення WindowHeight

тема

Як відомо, сприйняття кольору у людини триколірне. Грунтуючись на цьому, у графічних бібліотеках використовується саме таке трикомпонентне уявлення кольору. Колір задається за допомогою функції rgb (Red, Green, Blue)

* Red - число від 0 до 255, що відповідає інтенсивностічервоний компоненти

* Green – число від 0 до 255, що відповідає інтенсивності зеленої компоненти

* Blue – число від 0 до 255, що відповідає інтенсивності синьої компоненти

Функція формує ціле число (integer), яке може використовуватися скрізь у графічній бібліотеці, де потрібна вказівка ​​кольору. Є кілька зумовлених кольорів:

clMoneyGreen – колір зелених грошей

Завдання стилю та кольору пера

* SetPenColor(колір) – встановлює колір пера, що задається параметром color.

* SetPenWidth (ширина) - встановлює ширину пера.

* SetPenStyle(стиль) – встановлює стиль пера (суцільний, пунктир тощо), можливі значення вказані в таблиці (стиль застосуємо тільки до ширини пера 1 піксел)

Поточне перо використовується для малювання ліній, прямокутників, ламаних, кіл, еліпсів, дуг і т.п.

Uses GraphABC;

begin

Circle (256,256,WindowHeight div 2);

end.

Завдання стилю та кольору пензля

* SetBrushColor (колір) - встановлює колір пензля

* SetBrushPicture(ім'я файлу) – встановлює як зразок для зафарбування пензлем зразок, що зберігається у файлі, при цьому поточний колір пензля при забарвленні ігнорується.

* ClearBrushPicture – очищає малюнок-зразок, вибраний для пензля.

* SetBrushStyle (стиль) - встановлює стиль пензля, що задається параметром bs.

Можливі стилі пензля:

bSSolid bsClear bsCross bsDiagCross bsHorizontal bsBDiagonal bsVertical bsFDiagonal

Поточним пензлем зафарбовуються всі замкнуті фігури, контур фігур малюється поточним пером. Використовуйте SetBrushColor(bsClear), щоб намалювати не зафарбовану фігуру.

Program Gr03;

Uses GraphABC;

Var i,j: integer;

begin

end.

Деякі графічні примітиви[6]

* Line(x1, y1, x2, y2) - малює відрізок з початком у точці (x1, y1) і кінцем у точці (x2, y2).

* Circle(x,y,r) – малює коло з центром у точці (x,y) та радіусом r.

* Ellipse(x1, y1, x2, y2) – малює еліпс, заданий своїм описаним прямокутником з координатами протилежних вершин (x1, y1) та (x2, y2).

* Rectangle(x 1,y1,x2,y2) – малює прямокутник, заданий координатами протилежних вершин (x1,y1) та (x2,y2).

* RoundRect(x 1,y1,x2,y2,w,h) – малює прямокутник із округленими краями; (x1, y1) і (x2, y2) задають пару протилежних вершин, а w і h – ширину та висоту еліпса, що використовується для округлення країв.

* Arc(x,y, r, a1,a2) – малює дугу кола з центром у точці (x,y) та радіусом r, укладеної між двома променями, що утворюють кути a1 та a2 з віссю OX (a1 та a2 – речові, задаються у градусах і відраховуються проти годинникової стрілки).

* Pie (x, y, r, a1, a2) - малює сектор кола, обмежений дугою (параметри процедури мають той же сенс, що і в процедурі Arc).

* Chord (x, y, r, a1, a2) - малює фігуру, обмежену дугою кола і відрізком, що з'єднує її кінці (параметри процедури мають той же сенс, що і в процедурі Arc).

* FloodFill(x,y,color) – зафарбовує область одного кольору, починаючи з точки (x,y) кольором color.

Напишіть програму, що використовує не менше трьох процедур малювання, яка б малювала нескладний малюнок (будиночок, автомобіль, тощо)

Приклад вирішення завдання

Program avto;

var i : integer;

begin

SetPenStyle (psClear); // Верхня частина автомобіля

setBrushColor (ClAqua); // вікна

setBrushColor (Clgreen); // корпус

setBrushColor (ClYellow); // фари

setBrushColor (ClLightGray); // бампер

SetPenStyle (psSolid); // двері

setBrushColor (ClBlack); // колеса

end.

модуль

Подібні розділи з інших книг

ТЕМА НОМЕРУ: Як народилася ця тема

Комп'ютерра №33 (605) Тема номера: Виставки ТЕМА НОМЕРУ SIGGRAPH 2005

1.2.1 Графічний контекст

1.2.1 Графічний контекст Перш ніж розпочати роботу з графікою, програма повинна виділити собі спеціальну структуру даних та отримати покажчик на неї. Ця структура називається графічним контекстом (Graphic Context (GC)). Покажчик на GC використовується як один з

1.3. Графічний інтерфейс та консоль

1.3. Графічний інтерфейс та консоль 1.3.1. Що таке консоль У перших версіях Linux не було графічного інтерфейсу. Так, система X Window (нова назва - X.Org), що лежить в основі графічного інтерфейсу, з'явилася в 1992 році, але як такого графічного інтерфейсу користувача

ТЕМА НОМЕРУ: Заборонена тема

Графічний інтерфейс

Графічний інтерфейс Відмінність всіх програм, що працюють в операційному середовищі Windows, - це графічний інтерфейс, що настроюється. Це стосується і програм Microsoft Office. Користувач у певних межах сам може вибирати вид, розмір та функції робочих вікон та

Графічний колір

Графічний колір Графічний колір — це звичайне графічне зображення, яке зафарбовує лінії або заливки. Таким графічним зображенням може бути вміст як звичайного графічного файлу, так і іншої канви. Графічний колір створюють у три етапи.

Графічний колір

Графічний колір Графічний колір – це звичайне графічне зображення, яким зафарбовуються лініїабо заливання. Таким графічним зображенням може бути вміст як звичайного графічного файлу, так і іншої канви. Графічний колір створюють у три етапи. Перший етап

2.4. Відеокарта (графічний адаптер чи графічний прискорювач)

Модуль GraphABC

Модуль GraphABC Модуль GraphABC є простою графічною бібліотекою і призначений для створення неподійних графічних та анімаційних програм у процедурному та частково в об'єктному стилі. Малювання здійснюється у спеціальному графічному вікні, можливість

Типи та змінні модуля GraphABC

Типи та змінні модуля GraphABC Color = System.Drawing.Color; Тип кольору Point = System.Drawing.Point; Тип точки GraphABCException = class (Exception) end; Тип виключення GraphABC RedrawProc: procedure; Процедурне змінне перемальовування графічного вікна. Якщо дорівнює nil, то використовується стандартна

Події модуля GraphABC

Події модуля GraphABC Графічна програма продовжується навіть після того, як виконані всі оператори основної програми. Графічне вікно реагує на події миші, клавіатури, подію зміни розмірів вікна та закриття вікна. Ці події визначені