Алгоритм розробки проекту

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 xex/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):