У канвы имеется свойство Реn - перо. Это объект, в свою очередь имеющий ряд свойств. Одно из них уже известное вам свойство Color - цвет, которым наносится рисунок. Второе свойство Width (ширина линии). Ширина задается в пикселах. По умолчанию ширина равна 1.
Свойство Style определяет вид линии. Это свойство может принимать следующие значения:
Значение | Описание |
psSolid | Сплошная линия. |
psDash | Штриховая линия. |
psDot | Пунктирная линия. |
psDashDot | Штрих-пунктирная линия. |
psDashDotDot | Линия, чередующая штрих и два пунктира. |
psClear | Отсутствие линии. |
psInsideFrame | Сплошная линия, но при Width>1 допускающая цвета, отличные от палитры Windows. |
Все стили со штрихами и пунктирами доступны только при Width = 1. В противном случае линии этих стилей рисуются как сплошные.
Стиль psInsideFrame - единственный, который допускает произвольные цвета. Цвет линии при остальных стилях округляется до ближайшего из палитры Windows.
У канвы имеется свойство PenPos. Это свойство определяет в координатах канвы текущую позицию пера. Перемещение пера без прорисовки линии, т.е. изменение PenPos, производится методом канвы MoveTo(X,Y). Здесь (X,Y) координаты точки, в которую перемещается перо. Эта текущая точка становится исходной, от которой методом LineTo(X,Y) можно провести линию в точку с координатами (X,Y). При этом текущая точка перемещается в конечную точку линии и новый вызов LineTo будет проводить точку из этой новой текущей точки.
Отметим еще одно ценное свойство компонента Image и его канвы. Вы можете задавать координаты пикселов, выходящие за пределы размеров канвы, и ничего страшного при этом не случится. Это позволяет не заботиться о том, какая часть рисунка попадает в рамку Image, а какая нет. Вы можете легко проверить это, увеличив, например, вдвое размах вашей синусоиды. Для этого достаточно изменить оператор, задающий значение Y, на следующий:
Y = 2 * sin(X);
На компоненте Image изобразилась только та часть рисунка, которая помещается в рамку канвы. Это позволяет легко осуществлять приложения, в которых пользователю предоставляется возможность увеличивать и просматривать в деталях какие-то фрагменты графиков.
Перо может рисовать не только прямые линии, но и фигуры. Ниже перечислены некоторые из методов канвы, использующие перо для рисования фигур:
Значение | Описание |
Arc | Рисует дугу окружности или эллипса. |
Chord | Рисует замкнутую фигуру, ограниченную дугой окружности или эллипса и хордой. |
Ellipse | Рисует окружность или эллипс. |
Pie | Рисует сектор окружности или эллипса. |
Polygon | Рисует замкнутую фигуру с кусочно-линейной границей. |
Polyline | Рисует кусочно-линейную кривую. |
Rectangle | Рисует прямоугольник. |
RoundRect | Рисует прямоугольник со скругленными углами. |