raquo ;, на підставі яких можна створювати власні компоненти, знову-таки без безпосереднього звернення до функцій графічного виводу.
У той же час, малювання може бути корисним і при більш простих ситуаціях, наприклад, коли потрібно саме вивести які-небудь графічні примітиви, або навіть дати користувачеві можливість що-небудь накреслити. Нарешті, ми розглянемо тут питання малювання, щоб ще раз проілюструвати роботу класів і використання ООП, а заодно досліджувати ще один фрагмент VCL.
1.1 Створення програми. Клас TCanavas. Його основні властивості і методи
Як було сказано раніше, поверхні, на яку програма може виводити графіку, відповідає властивість Canvas. У свою чергу, властивість canvas - це об'єкт типу TCanvas. Методи цього типу забезпечують виведення графічних примітивів (точок, ліній, кіл, прямокутників і т.д.), а властивості дозволяють задати характеристики виведених графічних примітивів: колір, товщину і стиль ліній; колір і вигляд заповнення областей; характеристики шрифту при виводі текстової інформації.
Основна властивість такого об'єкта як Canvas Delphi - Pixels [i, j] типу TColor, тобто це двовимірний масив точок (пікселів), що задаються своїм кольором. Малювання на канві відбувається в момент присвоєння якій-небудь точці канви заданого кольору. Кожному пікселу може бути присвоєний будь-який доступний для Windows колір. Наприклад, виконання оператора Image1. Canvas. Pixels [100,100]:=clRed;
призведе до малювання червоної крапки з координатами [100, 100]. Так само легко дізнатися колір пікселя можна зворотним присвоєнням ::=Image1. Canvas. Pixels [100,100];
Тип TColor визначений як довге ціле (LongInt). Його чотири байти містять інформацію про частки синього (B), зеленого (G), і червоного (R) кольорів. У 16-річної системі це виглядає так: $ 00BBGGRR. Частка кожного кольору може мінятися від 0 до 255. Тому щоб відобразити максимально червону крапку, їй потрібно привласнити колір $ 000000FF. Для стандартних кольорів в Delphi визначений набір текстових констант. Побачити його можна, відкривши в Інспектора Об'єктів властивість Color, наприклад, тієї ж Форми.
Використання класу TCanvas забезпечує наступні можливості:
§ Створення зображень за допомогою об'єктів кисть , перо , шрифт ,
§ Малювання і заливка різних фігур і ліній,
§ Виведення тексту в графічному режимі,
§ Завантаження графічних зображень з файлу,
§ Програмування реакції на зміни в поточному зображенні.
Об'єкт TCanvas є одночасно і властивістю багатьох інших об'єктів. Так, з його допомогою можна малювати на поверхні наступних видимих ??об'єктів, що містять властивість TCanvas : TForm, TBitmap, TComboBox, TDrawGrid, TImage, TListBox, TPaintBox, TPrinter та ін.
Властивості: Властивість TCanvas являє собою об'єкт, який містить в собі не тільки полотно для малювання, але й засоби малювання -перо Pen , кисть Brush і шрифт Font . Нижче, в таблиці 1, наведено повний список властивостей об'єкта TCanvas.
Таблиця 1. Властивості об'єкта TCanvas
СвойствоОб'явленіе Brush, property Brush: TBrush Визначає колір і стиль заповнення замкнутих фігур і фону. ClipRect, propertv ClipRect: TRect; Визначає доступну область малювання на канві і область, що підлягає перемальовуванні при події OnPaint. Властивість тільки для читання. CopyMode, property CopyMode: TCopyMode; Визначає режим копіювання графічного зображення на канву. Font, property Font: TFont Визначає атрибути шрифту, яким виводиться текст. Pen, property Pen: TPen Визначає властивості пера, що малює лінії і фігури. PenPos, property PenPos: TPoint Визначає поточну позицію пера. Pixels, property Pixels [X. Y: Integer]: TColor: Визначає кольору пікселів.
Методи: Canavas забезпечує простір (полотно, канву) для створення, зберігання та модифікації графічних об'єктів. Нижче, в таблиці 2, наведені основні методи класу TCanvas.
Таблиця 2. Методи класу TCanvas
МетодОпісаніе Arc, procedure Arc (Xl, Yl, Х2, Y2, ХЗ, Y3, Х4, Y4: integer) Малює дугу кола або еліпса. (XI, Y1) і (X2, Y2) ви...