Работа с объектом Canvas

С помощью объекта Canvas вы можете установить толщину рисуемых линий, тип кисти для закрашивания областей, шрифт для вывода текста, а также массив пикселов для представления графического образа. Все это устанавливается с помощью свойств и методов объекта Canvas.

Свойства и методы объекта Canvas

В табл. 13.2 приводятся наиболее часто используемые свойства объекта Canvas и их описания.

Таблица 13.2. Свойства объекта Canvas

Свойство

Описание

Font

Определяет шрифт, который будет использоваться для вывода текста на картинке

Brush

Определяет цвет и образец кисти, которыми будут заполняться графические объекты и фон канвы

Pen

Определяет тип пера канвы, которым будут чертиться линии и геометрические фигуры

PenPos

Определяет текущую позицию пера

В табл. 13.3 перечислены методы, которые часто используются при рисовании на канве.

Таблица 13.3. Методы объекта Canvas

Метод

Описание

Arc

Предназначен для черчения дуги эллипса или окружности. В качестве параметров метода передаются координаты четырех точек. Первые две точки (x1, y1) и (х2, y2) определяют диагональ прямоугольника, в который вписан эллипс. Третья точка (х3, y3) задает начальную точку дуги. Точка (х4, y4) задает конечную точку дуги. Третья и четвертая точки принадлежат прямоугольнику, описывающему эллипс. Точки дуги получаются в результате пересечения прямой, проходящей через центр эллипса и точки (х3,y3) и (х4, y4). Дуга рисуется против часовой стрелки от начальной до конечной точки

Chord

Чертит замкнутую фигуру, границами которой являются дуга окружности или эллипса и хорда. Параметры, передаваемые в данный метод, аналогичны параметрам метода Arc

Таблица 13.3 (продолжение)

Метод

Описание

CopyRect

Копирует прямоугольную часть изображения с одной канвы на другую. Копирование осуществляется в том режиме, который , определен свойством CopyMode

Draw

Рисует изображение, хранящееся в объекте, который определен параметром Graphic, на канву в координаты, задаваемые параметрами х и y. Например,

Image1. Canvas. Draw (5, 24, Image2. Picture. Bitmap) ;

Копирует в координаты (5, 24) рисунок, находящийся на канве компонента Image2, в, канву компонента Image1

DrawFocusRect

Рисует изображение пунктирного прямоугольника с автоматической установкой режима пера (свойство Mode) в pmXor. Данный метод имеет место лишь в том случае, когда подсвойство DefaultStyle свойства Style приложения установлено в dsWindows

DrawPoint

Отображает одиночную точку на канве с использованием текущих установок пера

DrawPoints

Рисует несколько точек с использованием текущих установок пера

Ellipse

Чертит на канве эллипс или окружность. Параметрами являются две точки (x1, y1) и (х2, y2 ), которые определяют диагональ прямоугольника, описывающего эллипс

FillRect

Заполняет указанную прямоугольную область канвы цветом, определенным текущим значением свойства кисти (Brush). Например,

Image1. Canvas. FillRect (0, 0, 100, 100);

Заполняет квадрат с главной диагональю, имеющей координаты (0, 0) и (100, 100), цветом, определенным в свойстве Color кисти

 

GetClipRegion Возвращает указатель на текущую вырезаемую область канвы

LineTo

Чертит на канве прямую линию, начало которой совпадает с текущим значением координат пера (значение свойства PenPos), а конец задается параметром (х, y) . Конечная точка не принадлежит линии и не отображается. После чего текущими координатами пера станет точка (х, y ) . Например,

Image1. Canvas. LineTo (100, 130);

Чертит линию от текущей позиции пера до точки с координатами (100, 130), не включая саму точку (100, 130), после чего значением, PenPos будет точка (100, 130)

Таблица 13.3 (продолжение)

Метод

Описание

MoveTo

Изменяет текущую позицию пера (значение свойства PenРоs) на значение, заданное параметром (х, y). При перемещении пера на канве ничего не чертится. Метод аналогичен прямой установке значения свойства PenPos

Pie

Чертит замкнутый сегмент эллипса или окружности. Параметры метода аналогичны параметрам метода Arc

PolyBezier

Чертит на канве цветом пера Реn сглаженную кривую по заданному множеству точек, определенных в массиве Points. Начинает рисование с точки, определенной параметром Startlndex, используя следующие две точки как направляющие для изгибов кривой. Кривая заканчивается четвертой точкой массива. Например,

Image1. Canvas. PolyBezier ( [Point (0,                                               0) , 
Point (100, 10), Point (20, 30) , Point (230, 100)], 0);

Последний параметр, равный нулю, — это параметр
Startlndex

PolyBezierTo

То же самое, что и PolyBezier, только после черчения линии данный метод устанавливает значение свойства PenPos в последнюю точку массива Points

Polygon


Чертит на канве многоугольник по заданному множеству точек, определенных в массиве Points, причем первая точка массива соединяется с последней, после чего многоугольник закрашивается цветом, определенным свойством кисти Brush. Например,

Image1. Canvas. Polygon ( [Point (0, 0), Point (10, 10) , Point (20, 30) , Point (230, 100)]);

Polyline

Чертит на канве незамкнутый многоугольник. Аналогичен методу Polygon, только не соединяет первую и последнюю точки массива Points

Rectangle

Чертит на канве текущим пером Реn прямоугольник, закрашенный цветом, определенным в свойстве кисти Brush. В качестве параметров передаются координаты двух точек: левого верхнего и правого нижнего углов прямоугольника, т. е. его главная диагональ

RoundRect

Чертит на канве закрашенный цветом, определенным в свойстве кисти Brush, прямоугольник со скругленными углами. Два параметра (x1, y1) и (x2, y2) задают координаты углов прямoугольника (как в методе Rectangle). Два следующих параметра х3 и y3 задают эллипс с шириной х3 и высотой y3 точек. Углы прямоугольника скругляются по шаблону данного эллипса

Таблица 13.3 (окончание)

Метод

Описание

StretchDraw

Рисует графическое изображение, которое содержится в компоненте, указанном в параметре Graphic, в прямоугольную область канвы, указанную параметром Rect. Причем изображение растягивается или сжимается под размер данной области. Например,

Image1. Canvas. StretchDraw (Rect (0, 0, 29, 29), Im-age2 . Picture . Bitmap) ;

Уменьшает изображение, имеющее размер больше, чем 30x30 и хранящееся в компоненте Image2, и помещает его на канву компонента Image1

TextHeight

Возвращает значение, равное высоте текста, который предполагается вывести на канву с использованием текущего шрифта

TextOut

 

Выводит строку текста, задаваемую параметром Text, на канву в позицию с координатами (х, y). Например,

Image1. Canvas. TextOut (10, 10, 'Kylix - лучшая среда разработки под Linux ' ) ;

TextRect

Похож по действию на метод TextOut, только текст, выходящий за пределы определенной прямоугольной области, не выводится

TextWidth

Возвращает значение в пикселах, равное длине текста Text, который предполагается вывести на канву компонента текущим шрифтом

TiledDraw

Рисует размноженное изображение внутри указанного прямоугольника

Hosted by uCoz