Приложение к главе 4

Работа с графикой на канве

Свойство Pen (карандаш) позволяет определять цвет, толщину и стиль линий.

Основные свойства класса TРеn

Свойство

Назначение

Color

Цвет карандаша

Style 

Стиль линии определяет, будет ли она сплошной или пунктирной.

Width

Толщина линии в пикселях

Свойство Style может принимать значения, указанные в таблице.


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

Свойство Font (шрифт) позволяет определять свойства текущего шрифта.

Некоторые свойства класса 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.