Народна Освіта » Інформатика » § 44. Налаштування властивостей графічних примітивів

НАРОДНА ОСВІТА

§ 44. Налаштування властивостей графічних примітивів

Для малювання рисунків і введення тексту застосовують інструменти Pen, Brush і Font. Олівець використовують для малювання ліній, пензель — для зафарбовування фігур, а шрифт — для вибору шрифта тексту.

Властивість олівець (Pen)

Олівець (Canvas.Pen) використовують для малювання фігур, що складаються з ліній. Розглянемо деякі властивості олівця.

Pen.Color встановлює колір олівця, тобто колір, яким буде намальований контур фігури. Властивість Color може набувати значення колірних констант. Також колір малюнка можна задавати за допомогою функції RGBToColor, аргументи якої задають ступінь насиченості червоного, зеленого і синього кольорів:

Pen.Color := RGBToColor (r, g, b);

Змінні r, g, b можуть набувати значень від 0 до 255. Так можна отримати більше ніж 16 млн різних кольорів:

Колір

R(ed)

G(reen)

B(lue)

Чорний

0

0

0

Білий

255

255

255

Червоний

255

0

0

Зелений

0

255

0

Синій

0

0

255

Pen.StvIe визначає стиль лінії і може мати, зокрема, такі значення:

Значення

Вигляд

Значення

Вигляд

psSolid

psDash

Pen.Width визначає товщину лінії. Значення цієї властивості може бути цілим числом. Лінія завтовшки більш ніж 1 може бути тільки суцільною.

Намалювати на формі піраміду за зразком (рис. 44.1).

Forml .Canvas.Pen.Style : = psSolid;

Forml .Canvas.Pen.Width : = 3;

 

Forml .Canvas.Polygon ([Point (150,50),

Point (50, 250), Point (250, 250),

Point (150, 50), Point (270, 170),

Point (250, 250)]);

Form1.Canvas.Pen.Width : = 1;

Form1.Canvas.Pen.Style : = psDash;

Form1.Canvas.MoveTo (150, 50);

Form1.Canvas.LineTo (130, 170);

Form1.Canvas.LineTo (270, 170);

Form1.Canvas.MoveTo (130, 170);

Form1.Canvas.LineTo (50, 250);

Властивість пензель (Brush)

Пензель (Canvas.Brush) використовують для зафарбовування (заливки) замкнених геометричних фігур. Властивості пензля:

• Brush.Color встановлює колір, яким можна зафарбовувати фігури;

• Brush.Style визначає стиль заповнення фігури, який, зокрема, може набувати таких значень:

bsSolid — суцільне заповнення кольором; bsDiagonal — штрихування справа наліво; bsHorisontal — горизонтальні лінії та інші.

Виведення тексту на полотно

Шрифт (Canvas.Font) визначає шрифт, яким буде виведено текст. Можна встановити такі властивості шрифту: розмір, накреслення тощо.

Змінити значення властивостей шрифту.

Canvas.Font.Size : = 20; // розмір у пунктах (20)

Canvas.Font.Color := clRed; // колір (червоний)

Canvas.Font.Name := 'Comic Sans MS'; // гарнітура (Comic Sans MS)

Canvas.Font.Style := [fsBold, fsItalic]; // накреслення (напівжирне, курсив)

або

Canvas.Font.Style := []; // накреслення (звичайне)

Canvas.Font.Style := [fsBold]; // накреслення (напівжирне)

Виведення тексту на полотно може здійснюватися за допомогою методу TextOut (х, y: Integer; const Text: String);

Цей метод виводить рядок тексту Text на полотно, починаючи з позиції з координатами (х, у).

Canvas.TextOut (10, 10, 'Виведення тексту');

Заповнити прямокутники зеленим кольором із використанням різних стилів пензля за зразком (рис. 44.2).

 

Для того щоб біля кожного виклику методу не писати назву об’єкта Canvas, використаємо оператор приєднання With. При цьому в тілі оператора до кожного рядка, початок якого збігається з назвою властивості або методу об’єкта Canvas, під час компіляції буде додано Canvas.

With Canvas do begin Font.Size := 16;

TextOut (10, 10, 'bsSolid'); // виведення назви стилю пензля Brush.Color := clGreen; // колір заливки

Brush.Style := bsSolid; // стиль заливки Rectangle (10, 30, 100, 120);

Brush.Style := bsClear;

TextOut (110, 10, 'bsVertical');

Brush.Color := clGreen;

Brush.Style := bsVertical; // стиль заливки Rectangle (110, 30, 200, 120); end;

Заповнення многокутників і складних фігур^^^^^^В

Під час малювання простих геометричних фігур можна автоматично їх зафарбовувати відповідно до налаштувань пензля. Для будь-якої замкненої області використовують спеціальний метод FloodFill: Canvas.FloodFill (x, y, Color, FillStyle);

Тут x, у — це координати будь-якої точки всередині фігури.

Якщо FillStyle = fsBorder, то фарба «розтікається» від точки з координатами (x, у) доти, поки не зустріне на шляху колір, заданий в параметрі Color. Якщо FillStyle = fsSurface, то колір Color замінюється кольором, вказаним у властивості Brush.Color.

 

Намалювати зелений трикутник зі сторонами червоного кольору (рис 44.3).

Form1.Canvas.Pen.Color := clRed;

Form1.Canvas.Polygon ([Point (150,50), Point (50,250),

Point (250,250), Point (150,50)]);

Form1.Canvas.Brush.Color := clGreen;

Form1.Canvas.FloodFill (200, 200, clRed, fsBorder);

Описані можливості Lazarus значно розширюють ваш арсенал художника-програміста. Тому обов’язково випробуйте всі наведені приклади, а потім спробуйте запрограмувати побудову власного малюнка.

Питання для самоперевірки

1. Які властивості має інструмент Pen?

2. Як задати колір для побудови контуру графічних примітивів?

3. Які властивості має інструмент Brush?

4. Як зафарбувати фігуру?

5. Як побудувати і зафарбувати зеленим кольором коло радіусом 100, центр якого збігається з центром форми?

6. Запишіть фрагмент програми для побудови трикутника з вершинами в точках (100, 100), (150, 100), (80, 70); колір фону — сірий; колір ліній — червоний.

Вправа 44

 

Скласти програму для малювання ялинки за зразком (рис. 1).

1) Створіть новий проект. Додайте на форму кнопку Buttonl, при клацанні якої буде виконуватися малювання на полотні форми.

2) Створіть процедуру обробки події onclick для форми.

3) Запишіть програмний код для малювання ялинки:

With Forml.Canvas do // працюємо з об'єктом Forml .Canvas begin

Pen.Width := 1; // встановлюємо товщину олівця

Pen.Color := clGreen; // встановлюємо колір олівця Brush.Color := clGreen; // встановлюємо колір заливки { Малювання ялинки }

PolyGon ([Point (40,200), Point (160,100), Point (180,100), Point (140,160), Point (160,160), Point (100,250), Point (300,250), Point (240,160), Point (260,160), Point (220,100), Point (240,100)]);

Pen.Color := RGB (128,64,0); // встановлюємо колір олівця

Brush.Color := RGB (128,64,0); // встановлюємо колір заливки { Малювання стовбура }

PolyGon ([Point (250,251), Point (250,301), Point (150,301), Point (150,251)]);

4) Запустіть проект на виконання. Додайте оператори малювання жовтого сонечка (рис. 2).

 

5) Перевірте роботу програми. Збережіть проект у папці Вправа 44.

6) Наша ялинка «висить» у повітрі. Додайте оператори для малювання лісової галявини, на якій росте ялинка, і хмаринок над ялинкою.

Комп’ютерне тестування

Виконайте тестове завдання 44 з автоматичною перевіркою на сайті

interactive.ranok.com.ua.

 

Це матеріал з підручника Інформатика 8 клас Бондаренко

 

Категорія: Інформатика

Автор: admin от 7-10-2016, 22:46, Переглядів: 3121