Для отрисовки линий используется процедура
procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);
Здесь:
- X1 - координата начала линии по горизонтали в миллиметрах от верхнего левого угла листа.
- Y1 - координата начала линии по вертикали в миллиметрах от верхнего левого угла листа.
- X2 - координата конца линии по горизонтали в миллиметрах от верхнего левого угла листа.
- Y2 - координата Конца линии по вертикали в миллиметрах от верхнего левого угла листа.
Для задания толщины линии используется свойство
property LineWidth: Double
Значение
толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка)
Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Возможные стили:
Значение свойства: | Отображение: | Описание: |
0 | | Прямой срез точно по точкам начала и окончания линии (по умолчанию) |
1 | | С закруглением |
2 | | Прямой срез с продолжением линии на половину толщины линии |
Объявление цвета линии.
Пример | Две линии разной толщины, с разными окончаниями и цветами: 01set page = CreatePage(Null)
02
03page.DrawGrid
04
05page.LineCap = 1
06
07page.LineWidth = 2
08
09page.Line 10, 10, 30, 30
10
11page.LineWidth = 4
12
13page.SetColor 255, 0, 0
14
15page.LineCap = 2
16
page.Line 10, 30, 30, 10."I
Результат:
|
При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Типы соединения двух линий:
Значение свойства | Отображение | Описание |
0 | | С острым углом |
1 | | С закруглением |
2 | | С обрезанным углом |
Пунктир
Для создания пунктира используется процедура отображения линии с предварительно объявленными дополнительными значениями.
Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.
Пример | Пример 1. Штрих 10 мм, Промежуток 5 мм, Смещения нет Пример 2. Штрих 10 мм, Промежуток 5 мм, Смещение 5 мм Пример 3. Различные значения штрихов и промежутков, Смещения нет
01set page = CreatePage(Null)
02
03page.DrawGrid
04
05page.LineWidth = 3
06
07page.SetDash Array(10, 5), 0
08
09page.Line 10, 10, 100, 10
10
11page.SetDash Array(10, 5), 5
12
13page.Line 10, 20, 100, 20
14
15page.SetDash Array(10, 5, 3, 2, 12, 20), 0
16
page.Line 10, 30, 100, 30 Результат:
|
Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).
Пример | Пример Звезда без заливки
1set page = CreatePage(Null)
2
3page.DrawGrid
4
5page.LineWidth = 3
6
page.Poly Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), false Результат:
|
Пример | Пример Звезда с заливкой
1set page = CreatePage(Null)
2
3page.DrawGrid
4
5page.LineWidth = 3
6
page.Poly Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), true Результат:
|