Приложение к главе 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.