Графічні можливості Delphi: Полотно, олівець, кисть
Як було сказано раніше, поверхні, на яку програма може виводити графіку, відповідає властивість Canvas. У свою чергу, властивість canvas - це об'єкт типу TCanvas. Методи цього типу забезпечують висновок графічних примітивів (точок, ліній, кіл, прямокутників і т. Д.), А властивості дозволяють задати характеристики виведених графічних примітивів: колір, товщину і стиль ліній; колір і вид заповнення областей; характеристики шрифту при виводі текстової інформації.
Методи виведення графічних примітивів розглядають властивість canvas як деякий абстрактний полотно, на якому вони можуть малювати (canvas переводиться як "поверхня", "полотно для малювання"). Полотно складається з окремих точок - пікселів. Положення пікселя характеризується його горизонтальної (X) і вертикальної (Y) координатами. Лівий верхній піксель має координати (0, 0). Координати зростають зверху вниз і зліва направо (рис. 10.1). Значення координат правої нижньої точки полотна залежать від розміру полотна.
Розмір полотна можна отримати, звернувшись до властивостей Height і width області ілюстрації (image) АБО До властивостей форми: ClientHeight І ClientWidth.
Художник у своїй роботі використовує олівці і кисті. Методи, що забезпечують креслення на поверхні полотна графічних примітивів, теж використовують олівець і пензель. Олівець застосовується для креслення ліній і контурів, а кисть - для зафарбовування областей, обмежених контурами.
Олівця і пензля, використовуваним для виведення графіки на полотні, відповідають властивості Реп (олівець) і Brush (кисть), які є об'єктами типу балаканина і TBrush, відповідно. Значення властивостей цих об'єктів визначають вид виведених графічних елементів.
Художник у своїй роботі використовує олівці і кисті. Методи, обеспе-
Чіва креслення на поверхні полотна графічних примітивів,
теж використовують олівець і пензель. Олівець застосовується для вичерчіва-
ня ліній і контурів, а кисть - для зафарбовування областей, обмеженість
Олівця і пензля, використовуваним для виведення графіки на полотні, соответ-
обхідних властивості Реп (олівець) і Brush (кисть), які представляють со-
бій об'єкти типу балаканина і TBrush, відповідно. Значення властивостей цих
об'єктів визначають вид виведених графічних елементів.
Олівець використовується для викреслювання точок, ліній, контурів геометричних фігур: прямокутників, кіл, еліпсів, дуг і ін.
Вид лінії, яку залишає олівець на поверхні полотна, визначають властивості об'єкта балаканина, які перераховані s табл.10.1:
Властивість color задає колір лінії, викреслюють олівцем. У табл. 10.2 перераховані іменовані константи (тип TColor), які можна використовувати в якості значення властивості color.
Таблиця 10.2. Значення властивості Color визначає колір лінії
Властивість width задає товщину лінії (в пікселах). Наприклад, інструкція Canvas. Pen. width: = 2 встановлює товщину лінії в 2 пікселя. Властивість style визначає вид (стиль) лінії, яка може бути безперервною або переривчастою, що складається з штрихів різної довжини.
У табл. 10.3 перераховані іменовані константи, що дозволяють задати стиль лінії. Товщина пунктирною лінії не може бути більше 1. Якщо значення властивості Pen.width більше одиниці, то пунктирна лінія буде виведена як суцільна.
Таблиця 10.3. Значення властивості Реn. турі визначає вид лінії
Властивість Mode визначає, як буде формуватися колір точок лінії в залежності від кольору точок полотна, через які ця лінія прокреслюють. За замовчуванням вся лінія викреслюється кольором, визначеним значенням властивості Реп. Color.
Однак програміст може задати інверсний колір лінії по відношенню до кольору фону. Це гарантує, що незалежно від кольору фону всі ділянки лінії будуть видні, навіть в тому випадку, якщо колір лінії і колір фону збігаються.
У табл. 10.4 перераховані деякі константи, які можна використовувати в якості значення властивості Pen.Mode.
Таблиця 10.4. Значення властивості Реп. Mode впливає на колір лінії
Кисть (canvas. Brush) використовується методами, що забезпечують креслення замкнутих областей, наприклад геометричних фігур, для заливки (зафарбовування) цих областей. Кисть, як об'єкт, володіє двома властивостями, перерахованими в табл. 10.5.
Таблиця 10.5. Властивості об'єкта Tbrush (кисть)
Область всередині контуру може бути зафарбована або заштрихована. В першому
випадку область повністю перекриває фон, а в другому - крізь неза
штриховані ділянки області буде видно фон.
Область всередині контуру може бути зафарбована або заштрихована. У першому випадку область повністю перекриває фон, а в другому - крізь НЕ заштриховані ділянки області буде видно фон.
Як значення властивості color можна використовувати будь-яку з констант типу TColor (див. Список констант для властивості Pen. Color в табл. 10.2). Константи, що дозволяють задати стиль заповнення області, наведені в табл. 10.6.
Таблиця 10.6. Значення властивості Brush. style визначають тип зафарбовування
Як приклад в лістингу 10.1 приведена програма Стилі заповнення областей, яка в вікно (рис. 10.2) виводить вісім прямокутників, зафарбованих чорним кольором з використанням різних стилів.
Лістинг 10.1. Стилі заповнення областей