Канва, ее свойства и графические методы (tcanvas) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Канва, ее свойства и графические методы (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 ‑ успешно).



Поделиться:


Последнее изменение этой страницы: 2017-02-08; просмотров: 303; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.187.103 (0.005 с.)