Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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

Изображение (TGraphic, TPicture)

Компоненты описывают файлы пиктограммы (.ICO), метафайлы, построен­ные графическими командами (.WMF,.EMF), графические раст­ро­­вые изображения (.BMP).

TGraphic содержит общие свойства и методы своих потомков: TIcon (пиктограмма), TMetafile (метафайл) и TBitmap (растровое изображение).

Свойства TGraphic

Empty ‑ объект не связан с графическим изображением (True).

Height, Width ‑ высота и ширина изображения в пикселях.

Palette:HPalette ‑ цветовая палитра.

PaletteModify ‑ цветовая палитра изменялась (True).

Transparent ‑ изображение прозрачно для фона, на котором оно находится.

Методы TGraphic

LoadFrom/SaveToClipboardFormat ‑ загрузка из буфера/в буфер.

LoadFrom/SaveToFile (S) ‑ загрузка из файла/в файл под именем S.

LoadFrom/SaveToStream (S) ‑ загрузка из потока/в поток под именем S.

Объект TPicture описывает готовое изображение.

Свойства TPicture

Assign(Source:TPersistent) ‑ связывает изображение с объектом Source.

Graphic:TGraphic ‑ содержит изображение.

Height, Width ‑ высота и ширина изображения в пикселях.

Icon:TIcon/Metafile:TMetafile ‑ изображение есть пиктограмма/метафайл.

Методы TPicture

LoadFrom..., SaveTo... ‑ аналогичны одноименным методам TGraphic.

RegisterClipboardFormat/FileFormat/FileFormatRes ‑ регистрация нового формата изображения в Clipboard/файлового формата/в ресурсном файле.

SupportClipboard(AForm:Word) ‑ формат зарегистрирован в буфере (True).

UnregisterGraphic(AClass:TGaphicClass) ‑ блокировка графических объектов.

Анимация

Простейший алгоритм анимации заключается в шагах: вывод рисунка (фигуры); удаление его или повторный его вывод цветом фона формы; вывод, возможно нового, рисунка на следующем месте своим первоначальным цветом.

Пример перемещения шарика слева направо по форме

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...