Класс TCanvas
Таблица 10.5. Свойства класса TCanvas.
Свойство | Описание |
---|---|
property ClipRect: TRect; | Определяет область отсечения канвы. То, что при рисовании попадает за пределы этого прямоугольника, не будет изображено. Свойство доступно только для чтения – его значение переустанавливается системой в контексте устройства, с которым связана канва |
property Per.Pos: TPoint; | Содержит текущую позицию пера канвы (изменяется посредством метода MoveTo) |
Метод:
procedure Refresh;
Сбрасывает текущие шрифт, перо и кисть, заменяя их на стандартные, заимствованные из установок Windows (BLACK PEN, HOLLOW_BRUSH, SYSTEM_FONT).
Предусмотрено два события для пользовательской реакции на изменение канвы:
property OnChange: TNotifyEvent; property OnChanging: TNotifyEvent;
Эти события возникают при изменении свойств и вызове методов TCanvas, меняющих вид канвы (т. е. при любом рисовании. В методе MoveTo, например, они не возникают). Отличие их в том, что событие OnChanging вызывается до начала изменений, а событие OnChange – после их завершения.
Идентификатор (код) растровой операции при копировании прямоугольных блоков содержится в свойстве:
property CopyMode: TCopyMode; TCopyMode = Longint;
И определяет правило сочетания пикселов, копируемых на канву, с ее текущим содержимым. При этом можно создавать разные изобразительные эффекты.
В Delphi определены следующие константы кодов:
- cmBiackness,
- craDstlnvert,
- cmMergeCopy,
- cmMergePaint,
- cmNotSrcCopy,
- cmNotSrcErase,
- cmPatCopy,
- cmPatlnvert,
- cmPatPaint,
- cmSrcAnd,
- cmSrcCopy,
- cmSrcErase,
- cmSrdnvert,
- cmSrcPaint,
- cmWhiteness.
Все они стандартно определены в Windows, и подробное их описание можно найти в документации по GDI. Значением свойства CopyMode по умолчанию является cmSrcCopy – копирование пикселов источника поверх существующих.