Канва, ее свойства и графические методы (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 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|