Графические инструменты в Delphi. Свойства класса TCanvas

   
На этом шаге мы рассмотрим состав класса TCanvas, в частности,
остановимся на его свойствах.

   
Этот класс создает "канву", на которой можно рисовать чертежными
инструментами -
пером, кистью и шрифтом. Объекты класса TСаnvas автоматически
создаются для
всех видимых компонентов, которые должны уметь нарисовать себя. Они
инкапсулируют объекты
Font, Pen, Brush, а также многочисленные методы, использующие эти
объекты.
Другими словами, он объединяет в себе и "холст" (контекст конкретного
устройства GDI),
и "рабочие инструменты" (перо, кисть, шрифт) и даже "подмастерьев" (набор
функций по рисованию типовых геометрических фигур).

   
В дальнейшем для обозначения этого класса мы будем пользоваться термином
"канва".

   
Канва не является компонентом, но она входит в качестве свойства во многие
другие компоненты,
которые должны уметь нарисовать себя и отобразить какую-либо информацию.

   
Остановимся более подробно на свойствах этого класса.

   
Дескриптор контекста устройства, над которым построена "канва", может быть
востребован для
различных низкоуровневых операций. Он задается свойством:

    property Handle: HDC;       .

   
Для рисования канва включает в себя шрифт, перо и кисть:

    property  Font: TFont;
    property  Pen: TPen;
    property  Brush: TBrush;      .

   
Кроме того, можно рисовать и поточечно, получив доступ к каждому пикселю.
Значение свойства

    property Pixels [x, y: Integer]:TColor;

соответствует цвету точки с координатами (X,Y). Другие свойства этого
класса перечислены
в таблице 1.

   

Таблица 1. Свойства класса
TCanvas

СвойствоОписание
property Brush: TBrush;Объект-кисть.
property ClipRect: TRect;Определяет текущие размеры области, нуждающейся в прорисовке.
property CopyMode: TCopyMode;Устанавливает способ взаимодействия растрового изображения с
цветом фона.
property Font: TFont; Объект-шрифт.
property Handle: Integer;Дескриптор канвы. Используется при непосредственном обращении к
API-функциям Windows.
property LockCount: Integer;Счетчик блокировок канвы. Увеличивается на единицу при каждом
обращении к методу Lock и уменьшается на единицу при обращении к
Unlock.
property Pen: TPen; Объект-перо.
property PenPos:TPoint;Определяет текущее положение пера в пикселях относительно левого
верхнего угла канвы.
property Pixels[X, Y:Integer]: TColor;Массив пикселей канвы.

   
Свойство CopyMode используется при копировании части одной канвы
(источника) в другую
(приемник) методом CopyRect и может иметь одно из следующих
значений:

   

Таблица 2. Значения свойства
CopyMode

ЗначениеОписание
cmBlacknessЗаполняет область рисования черным цветом.
cmDestInvertЗаполняет область рисования инверсным цветом фона.
cmMergeCopyОбъединяет изображение на канве и копируемое изображение
операцией AND.
cmMergePaintОбъединяет изображение на канве и копируемое изображение
операцией OR.
cmNotSrcCopyКопирует на канву инверсное изображение источника.
cmNotSrcEraseОбъединяет изображение на канве и копируемое изображение
операцией OR и инвертирует полученное.
cmPatCopyКопирует образец источника.
cmPatInvertКомбинирует образец источника с изображением на канве с помощью
операции XOR.
cmPatPaintКомбинирует изображение источника с его образцом с помощью
операции OR, затем полученное объединяется с изображением на канве
также с помощью OR.
cmSrcAndОбъединяет изображение источника и канвы с помощью операции
AND.
cmSrcCopyКопирует изображение источника на канву.
cmSrcEraseИнвертирует изображение на канве и объединяет результат с
изображением источника операцией AND.
cmSrcInvertОбъединяет изображение на канве и источник операцией XOR.
cmSrcPaintОбъединяет изображение на канве и источник операцией OR.
cmWhitnessЗаполняет область рисования белым цветом.

   
С помощью свойства Pixels все пиксели канвы представляются в виде
двухмерного массива
точек. Изменяя цвет пикселей, можно прорисовывать изображение по
отдельным точкам.

   
На следующем шаге мы рассмотрим методы класса TCanvas.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий