Алгоритм розробки проекту
Begin
Form1.Refresh; //поновлення форми
//підключення до об'єкта Form1 об'єкт Canvas
With Form1.Canvas do
begin //початок програмування малювання
. . .
процедури для побудови геометричних об'єктів
. . .
end; //кінець програмування малювання
End;
Основні властивості пера (Pen):
· Color—колір;
· Width— товщина лінії (числове значення);
· Style—вид лінії:
ü psSolid —суцільна лінія;
ü psDash— штрихова лінія;
ü psDot— пунктирна лінія;
ü psDashDot— штрих-пунктирна лінія;
Зразок: Pen.Style:=Psdot; Pen.Color:=clRed;
Основні властивості пензля (Brush):
· Color—колір;
· Style— стильзабарвлення:
ü bsSolid— суцільнезабарвлення;
ü bsCross —клітинка;
ü bsClear— прозоре (відключення пензля);
ü bsDiagCross—діагональна клітинка;
ü bsBDiagonal—діагональними лініями (вправо);
ü bsHorizontal— горизонтальними лініями;
ü bsFDiagonal—діагональними лініями (вліво);
ü bsVerticaI—вертикальними лініями;
Зразок: Brush.Style:=bsCross;
Деякі методи побудови простих графічних об'єктів:
• rectangle (x1, y1, x2, y2) ; — побудова прямокутника, де x1, у1 — координати лівого верхнього кута, x2, y2 — координати правого нижнього кута;
• ellipse (x1, y1, x2, y2) ; — побудова еліпса, де x1, у1 — координати лівого верхнього кута, x2, y2 — координати правого нижнього кута прямокутника, всередині якого будується еліпс;
• arc(x1,y1,x2,y2,x3,y3,x4,y4);—побудова дуги.де х1, у1, x2, y2 — параметри еліпса, частиною якого є дуга, що будується, хЗ, уЗ — початкова точка дуги, x4, y4 — кінцева точка дуги;
• moveto (x1,y1); — пересування олівця в точку з координатами х1,у1;
• lineto (x1, y1) ; — малювання лінії від поточної позиції олівця до точки з координатами x1, у1;
• FloodFill (x, у, c, fsborder); — зафарбовування контуру кольором c, де x, у — координати точки, що належить замкненій області,
fsborder — параметр, який вказує на те, що колір зафарбовування має збігатися з кольором забарвлення c.
Для виведення тексту на малюнку використовується метод TextOut(x1, y1,' текст'), де x1,y1 — координати лівого верхнього кута прямокутного поля, в якому виводиться текст.
Характеристики шрифту встановлюються за допомогою об'єкта Font, що має властивості:
• Color — колір шрифту;
• Size— розмір (числове значення);
• Style — стиль (fsBold, fsItalic, fsUnderline, fsStrikeOut);
• Name —назва(Агіаl, Courier...).
Приклад виведення тексту:
Font.Color:=clRed;
Font.Size:=15;
Font.Height:=10;
Font.Style:=[fsBold];
Font.Name:=’arial';
TextOut(10,100,'Робота студента 3-го курсу.......') ;
Розробка проекту «Побудова графіка функції»
Завдання. Створити програму, результатом роботи якої буде побудова на екрані графіка функції
f(x) = 2sin x•ex/5
на інтервалі [0; 25] (рис. 2).
Аналіз проекту. Для побудови графіків функцій використовується властивість Pixels об'єкта Canvas. Наприклад оператор Form1.Canvas.Pixels[10,10]:=clRed; виводить на канву точку з координатами (10,10) червоного кольору.
Розмір графічної площини форми визначається значеннями властивостей ClientWidth та ClientHeight. Лівій верхній точці робочої області відповідає елемент Pixels [0 , 0], а правій нижній — Pixels[ClientWidth-l, ClientHeight-1].
Розглянемо порядок побудови графіка на канві форми.
Як правило, графік будується на основі формули. Межі діапазону зміни аргументу функції є вхідним даними. Діапазон зміни значень функції можна обчислити. Виходячи з цих даних, можна визначити масштаб, що дасть змогу побудувати графік таким чином, щоб він займав усю область форми.
Наприклад, якщо деяка функція f(х) може набувати значення від 0 до 1000 і для виведення її графіка використовується область заввишки 250 пікселів, то масштаб вісі Oy обчислюється за формулою:
m = 250/1000.
Отже, значенню f(x) = 1000 відповідатиме точка області з координатою у = 0, оскільки
у = 250 – f(x) • m = 250 - 1000 • (250/1000). Значенню f(x) = 70 відповідатиме точка з координатою y = 233, бо y = 250 - 70 • (250/1000) (тут значення заокруглене через те, що координата може бути тільки цілим числом).
Рис. 2
Алгоритм розробки проекту
1. Створити папку D:\P92\P92XX\Delphi\Grafik.
2. Створити новий проект.
3. У програмному модулі в розділі implementation(розділ опису процедур і функцій модуля) після директиви {$R *.dfm}створити процедуру GrOfFunc— побудова графіка функції. В цій процедурі спочатку обчислюється максимальне (y2) та мінімальне (y1) значення функції на відрізку [x1; x2], а потім, враховуючи значення висоти та ширини області виведення графіка, обчислюється масштаб для осей Ox (mx) та Oy (my):