Приложение к главе 4
Работа с графикой на канве
Свойство Pen (карандаш) позволяет определять цвет, толщину и стиль линий.
| 
 Основные свойства класса TРеn  | 
|
| 
 Свойство  | 
 Назначение  | 
| 
 Color  | 
 Цвет карандаша  | 
| 
 Style    | 
 Стиль линии определяет, будет ли она сплошной или пунктирной.   | 
| 
 Width  | 
 Толщина линии в пикселях  | 
Свойство Style может принимать значения, указанные в таблице.

Свойство Brush  (кисть) предназначено для заполнения областей заданным шаблоном. Кисть обладает свойствами Color, Style.

| 
 Некоторые свойства класса TFont  | 
|
| 
 Name  | 
 Название шрифта, под которым он зарегистрирован в Windows, например Times New Roman, Courier и прочие  | 
| 
 Size  | 
 Высота шрифта в пикселях  | 
| 
 Style  | 
 Стиль шрифта. Возможные значения: fsBold (полужирный); fsltalic (курсив); fsUnderline (подчеркнутый); fsStrikeOut (зачеркнутый)  | 
| 
 Color  | 
 Цвет  | 
Методы канвы позволяют строить графические изображения на канве. Во многом методы канвы совпадают с аналогичными командами построения графических изображений в среде PascalABC.
| 
 Краткое описание методов класса TCanvas  | 
||
| 
 Arc(x1,y1,х2,y2,х3,y3,х4,y4);  | 
 Рисование части эллипса  | 
|
| 
 Chord(x1,y1,x2,y2,x3,y3,x4,y4);  | 
 Рисуется замкнутая фигура (сегмент), созданная пересечением эллипса и отрезка прямой линии (хорды)  | 
|
| 
 Ellipse(x1, y1, х2, y2);   | 
 Рисуется эллипс  | 
|
| 
 FloodFill(x,y,Color,FillStyle);  | 
 Заполнение заданным цветом области холста, прилегающей к точке, заданной в качестве параметра  | 
|
| 
 LineTo(x, y);  | 
 Рисует линию отточки, определенной свойством PenPos до точки, указанной в качестве параметра  | 
|
| 
 MoveTo(x, y);  | 
 Устанавливает текущую позицию графического курсора в точку, заданную в параметрах метода  | 
|
| 
 Pie(x1,y2,x2,y2,x3,y3,x4,y4);  | 
 Рисуется сектор эллипса, расположенный внутри заданного прямоугольника  | 
|
| 
 Polygon(Points: array of TPoint);  | 
 Рисуется сложная фигура, состоящая из отрезков, последовательно соединяющих точки, представленные в виде массива элементов TPoint. Последняя точка соединяется с первой. Внутренняя часть фигуры заполняется в соответствии со значением свойства Brush  | 
|
| 
 Polyline(Points: array of TPoint)  | 
 Метод аналогичен предыдущему, но заполнения внутренней части фигуры не происходит  | 
|
| 
 Rectangle (x1, y1,x2,y2);  | 
 Рисуется прямоугольник, внутренняя область которого заполняется в соответствии со значением свойства Brush  | 
|
| 
 RoundRect( x1, y1,x2,y2,x3,y3);  | 
 Рисуется прямоугольник со скругленными углами. Параметры x3, y3 определяют ширину и высоту эллипса для скругления углов  | 
|
| 
 TextOut(x,y,Text);  | 
 Вывод строки в конкретную позицию холста  | 
|
Рассмотрим подробнее методы, отличные от аналогичных процедур в PascalABC.
Метод Ellipse рисует эллипс, в котором точки (x1, y1) и (x2, y2) определяют прямоугольник, описывающий эллипс.
Методы Arc, Chord и Pie имеют одинаковые параметры. Точки (x1, y1) и (x2, y2) определяют прямоугольник, описывающий эллипс, в котором строится дуга, сегмент или сектор. Начальная точка дуги, сегмента или сектора определяется пересечением эллипса с прямой, проходящей через его центр и точку (x3, y3). Конечная точка дуги, сегмента или сектора определяется пересечением эллипса с прямой, проходящей через его центр и точку (x4, y4). Рисование происходит от начальной точки до конечной против часовой стрелки. Примеры построения дуги, сегмента, сектора и параметры соответствующих методов.

Метод FloodFill заполняет замкнутую область на канве, содержащую внутри себя точку с координатами x, y. Граница области заливки определяется сочетанием параметров Color и FillStyle. Если для параметра Fillstyle определить значение fsBorder, то команда будет работать так же, как и аналогичная команда в среде BP. Будет закрашена область, ограниченная цветом Color. Если для параметра Fillstyle определить значение fsSurface, то цвет Color заменится, а другие цвета внутри области останутся неизменными. Цвет и стиль, которым будет производиться заливка, определяются свойствами Brush.