
Компонент Shape (фігура)
До стандартної бібліотеки візуальних компонентів Delphi входять декілька об’єктів, за допомогою яких можна надати прикладній програмі оригінального вигляду. Основні з них – Image (зображення) і Shape (фігура).
Компонент Shape ( сторінка Additional) являє собою різні геометричні фігури, заштриховані зазначеним стилем. Його властивість Pen визначає колір і стиль лінії побудови. Властивість Brush визначає стиль і колір зафарбовування фігури.
Розглянемо на малюнках нижче фігури, які можна вибрати через властивість Shape та стилі заповнення і стилі лінії побудови. Також для цих фігур можна задати товщину лінії, колір, колір заповнення. Це все можна виконати через вище згадані властивості – Pen та Brush.
Фігури Shape
Використовуючи властивість Shape компонентів, надати фігурам вигляду
Прямокутника (stRectangle)
Кола (stCircle)
Еліпса (stElipse)
Квадрата (stSquere)
Прямокутника із заокругленими кутами (stRoundRect)
Використовуючи властивості Pen.Color, Pen.Width, Pen.Style, змінити вигляд ліній і фігур.
Використовуючи властивості Brush.Style , Brush.Style, залити фігури потрібним кольором та стилем.
Виведення ілюстрацій
Найбільш просто вивести ілюстрацію, яка знаходиться у файлі з розширенням bmp, jpg або ico, можна за допомогою компоненту Іmage, значок якого знаходиться на вкладці Additional палітри (див. мал. далі).
Значок компоненту Image
Нижче перераховані основні властивості компоненту Іmage.
Властивості компоненту image
Властивість
|
Визначає
|
Picture
|
Ілюстрацію, яка відображається в полі компоненту
|
Width, Height
|
Розмір компоненту. Якщо розмір компоненту менше розміру ілюстрації, і значення властивостей AutoSize і Stretch рівно False, то відображається частина ілюстрації
|
AutoSize
|
Ознака автоматичної зміни розміру компоненту відповідно до реального розміру ілюстрації
|
Stretch
|
Ознака автоматичного масштабування ілюстрації відповідно до реального розміру компоненту. Щоб було виконано масштабування, значення властивості AutoSize повинне бути False
|
Visible
|
Чи відображається компонент, і, відповідно, ілюстрація, на поверхні форми
|
Ілюстрацію, яка буде виведена в полі компоненту image, можна задати як під час розробки форми додатку, так і під час роботи програми.
Під час розробки форми ілюстрація задається установкою значення властивості picture шляхом вибору файлу ілюстрації в стандартному діалоговому вікні, яке з'являється в результаті клацання на командній кнопці Load вікна Picture Editor. Щоб запустити його, потрібно у вікні Object Inspector вибрати властивість Picture і клацнути на кнопці з трьома крапками.
Якщо розмір ілюстрації більше розміру компоненту, то властивості Stretch потрібно привласнити значення True і встановити значення властивостей width і Height пропорційно реальним розмірам ілюстрації.
Щоб вивести ілюстрацію в полі компоненту image під час роботи програми, потрібно застосувати метод LoadFromFile до властивості Picture, вказавши як параметр ім'я файлу ілюстрації. Наприклад, інструкція
Form1.Image1.Picture.LoadFromFile('e:\temp\bart.bmp')
завантажує ілюстрацію з файлу bart.bmp і виводить її в полі виведення ілюстрації (image1).
Метод LoadFromFile дозволяє відображати ілюстрації різних графічних форматів: BMP, WMF, JPEG (файли з розширенням jpg).
Джерела:
http://programming.in.ua/programming/delphi/235-graphic-elements-in-delphi.html
Більше методів джерело http://www.cyberguru.ru/delphi/delphi-components-part1-page26.html
Завдання додому
Відкрити програму delphі7
або Створити новий проект шляхом
File_New_Application
Розмістити кнопку на формі
Кліком активувати її
На сторінці коду між стрічками коду procedure TForm1.Button1Click(Sender: TObject);
begin
і end (які виникають автоматично після кліку на кнопці) пишемо програму для малювання рисунку на формі.
Зразки зображень, які потрібно зобразити на формі за допомогою canvas відповідно до номеру в списку підгрупи.
1.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Принести звіт в якому буде написаний код програми (1 сторінка)
Додатково можна малювати
Додатково можна писати програму градієнтної заливки фігур
Приклад градієнтної заливки форми.
procedure TForm1.FormPaint(Sender: TObject);
var Row, Ht: word;
begin
Ht:=(ClientHeight+255) div 256;
for Row:=0 to 255 do
with Canvas do
begin
Brush.Color:=RGB(Row,0,255);
FillRect(Rect(0,Row*Ht,ClientWidth,(Row+1)*Ht));
end;
end;