Канва, ее свойства и графические методы (TCanvas)
Компонент используется для создания канвы (холста), на которой можно рисовать пером, кистью и шрифтом.
Свойства
ClipRect:TRect ‑ текущие размеры для прорисовки.
CopyMode‑ способы взаимодействия изображения с цветом фона при копировании методом CopyRest части ‑ источника канвы в другую часть ‑ приемник: cmBlackness/cmWhitness (область заполняется черным/белым цветом), cmDestInvert (инверсный цвет фона), cmMergeCopy/cmMergePaint (объединение цвета изображения и копируемой части операцией And/Or), cmNotSrcCopy (инверсное изображение переносится на канву), cmNotScrErase (инверсный цвет от cmMergePaint), cmPatCopy (копирование образца источника), cmPatInvert (объединяет образец источника с изображением на канве операцией Xor), cmPatPaint (объединяет источник с его образцом операцией Or и полученный результат объединяется с изображением на канве операцией Or), cmSrcAnd/cmScrInvert/cmScrPaint (объединяет источник и канву операцией And/Xor/Or), cmScrCopy (копирует источник на канву), cmScrErase (инвертирует изображение на канве и объединяет с источником операцией And).
Font, Pen‑ объекты шрифт и перо.
LockCount‑ счетчик блокировок канвы. Увеличивается/уменьшается на единицу методами Lock/Unlock.
PenPos‑ координаты текущего положения пера относительно левого верхнего угла канвы.
Pixels[x,y:Integer] ‑ массив координат пикселей канвы. Изменяя цвет пикселей можно рисовать по отдельным точкам.
Методы
Arc/Chord/Pie(x1,y1,x2,y2,x3,y3,x4,y4) ‑ вывод против часовой стрелки дуги/сегмента/сектора эллипса в прямоугольнике (x1,y1) ‑ (x2,y2), начиная с точки (x3,y3) и кончая (x4,y4).
BrushCopy(Dest:TRet;Bitmap:TBitmap, Source:TRest,Color:TColor) ‑ часть изображения Source копируется на участок канвы Dest. Цвет Color будет заменен на цвет кисти канвы.
CopyRest(Dest:TRect;Canvas:TCanvas;Source:TRect) ‑ изображение Source канвы Canvas копируется на участок канвы Dest текущей канвы с учетом значений свойства канвы CopyMode.
Draw(x,y;Graphic:TGraphic) ‑ прорисовка объекта Graphic с левым верхним углом (x,y).
DrawFocusRect(Rect:TRect) ‑ прорисовка прямоугольника операцией Xor. Повторная прорисовка уничтожает прямоугольник.
Ellipse(x1,y1,x2,y2) ‑ вывод эллипса в прямоугольнике (x1,y1) ‑ (x2,y2) и заполняет его кистью.
FillRect(Rect:TRect) ‑ заполняет кистью прямоугольник Rect, кроме правой и нижней сторон.
FloodFill(x,y;Color:TColor;FillStyle:TFillStyle) ‑ заливка канвы, начиная с точки (x,y) и далее во все стороны. Если FillStyle=fsSurface/fsBorder, то заливка распространяется/прекращается на точках с цветом Color.
FramRect(Rect:TRect) ‑ вывод границ (шириной 1 пиксель) прямоугольника без заполнения внутренней части.
LineTo(x,y) ‑ вывести линию от текущего положения пера до точки (x,y).
Lock/Unlock‑ блокировка/разблокировка канвы в многопоточной обработке.
MoveTo(x,y) ‑ переместить поднятое перо в точку (x,y).
Polygon/Polyline(Point:array of TPoint) ‑ вывод многоугольника/ломаной по вершинам из массива Point с заполнением/без заполнения кистью.
Rectangle(x1,y1,x2,y2) ‑ вывод и заполнение прямоугольника (x1,y1) ‑ (x2,y2).
Refresh‑ установление в канве умалчиваемых значений шрифта, пера, кисти.
RoundRect(x1,y1,x2,y2,x3,y3) ‑ вывод и заполнение прямоугольника (x1,y1) ‑ (x2,y2) с закругленными углами эллипса в прямоугольнике (x1,y1) ‑ (x3,y3).
StretchDraw(Rect:TRect;Graphic:TGraphic) ‑ вывод с растягиванием или со сжатием изображения Graphic на весь прямоугольник Rect.
TextExtent(S):TSize/TextHeight/TextWidth(s):Integer ‑ возвращает ширину и высоту/только высоту/ширину прямоугольника со строкой S.
TextOut(x,y,s) ‑ вывод строки S, начиная с точки (x,y).
TextRect(Rect:TRect;x,y,s) ‑ вывод строки S, начиная с точки (x,y), с отсечением текста, выходящего за пределы прямоугольника Rect.
TryLock‑ попытки заблокировать канву (True ‑ успешно).
Дата добавления: 2016-03-22; просмотров: 1214;