PDFium Component Docs

CreatePath Метод

Компонент: TPdf  ·  Модуль: PDFium
Создаёт новый объект пути в начальной позиции

Syntax

procedure CreatePath(X, Y: Single; FillMode: TPdfFillMode = fmNone; FillColor: TColor = clBlack; FillAlpha: Byte = $FF; Stroke: Boolean = True; StrokeColor: TColor = clBlack; StrokeAlpha: Byte = $FF; StrokeWidth: Single = 1.0; LineCap: TPdfLineCap = lcDefault; LineJoin: TPdfLineJoin = ljDefault; BlendMode: TPdfBlendMode = bmDefault);

FillModeTPdfFillMode. Правило заливки внутренней области пути: fmNone (без заливки), fmAlternate (правило чёт-нечет) или fmWinding (правило ненулевого обхода). По умолчанию fmNone
FillColorTColor. Цвет заливки, применяемый, когда FillMode не равен fmNone. По умолчанию clBlack
FillAlphaByte. Непрозрачность заливки, где $00 — полностью прозрачно, а $FF — полностью непрозрачно. По умолчанию $FF
StrokeBoolean. При True контур пути рисуется с использованием StrokeColor, StrokeAlpha и StrokeWidth. По умолчанию True
StrokeColorTColor. Цвет контура пути. По умолчанию clBlack
StrokeAlphaByte. Непрозрачность обводки, где $00 — полностью прозрачно, а $FF — полностью непрозрачно. По умолчанию $FF
StrokeWidthSingle. Ширина линии обводки в пользовательских единицах PDF (пунктах). По умолчанию 1.0
LineCapTPdfLineCap. Стиль, применяемый к открытым концам пути: lcDefault, lcButt, lcRound или lcProjectingSquare. По умолчанию lcDefault
LineJoinTPdfLineJoin. Стиль, применяемый в местах соединения сегментов пути: ljDefault, ljMiter, ljRound или ljBevel. По умолчанию ljDefault
BlendModeTPdfBlendMode. Режим наложения композиции для объекта пути. По умолчанию bmDefault (нормальный)

 

procedure CreatePath(X, Y, Width, Height: Single; FillMode: TPdfFillMode = fmNone; FillColor: TColor = clBlack; FillAlpha: Byte = $FF; Stroke: Boolean = True; StrokeColor: TColor = clBlack; StrokeAlpha: Byte = $FF; StrokeWidth: Single = 1.0; LineCap: TPdfLineCap = lcDefault; LineJoin: TPdfLineJoin = ljDefault; BlendMode: TPdfBlendMode = bmDefault);

FillModeTPdfFillMode. Правило заливки внутренней области прямоугольника. По умолчанию fmNone
FillColorTColor. Цвет заливки прямоугольника. По умолчанию clBlack
FillAlphaByte. Непрозрачность заливки ($00–$FF). По умолчанию $FF
StrokeBoolean. При True рисуется контур прямоугольника. По умолчанию True
StrokeColorTColor. Цвет контура прямоугольника. По умолчанию clBlack
StrokeAlphaByte. Непрозрачность обводки ($00–$FF). По умолчанию $FF
StrokeWidthSingle. Ширина обводки контура в пунктах. По умолчанию 1.0
LineCapTPdfLineCap. Стиль концов линий для углов прямоугольника. По умолчанию lcDefault
LineJoinTPdfLineJoin. Стиль соединения линий для углов прямоугольника. По умолчанию ljDefault
BlendModeTPdfBlendMode. Режим наложения композиции. По умолчанию bmDefault

Description

CreatePath начинает построение нового векторного объекта пути. Он должен быть вызван перед любым из методов построения пути (MoveTo, LineTo, BezierTo, ClosePath), а последовательность должна быть завершена вызовом AddPath для фиксации пути на текущей странице

Доступны две перегрузки. Двухкоординатная форма CreatePath(X, Y, ...) инициализирует пустой путь с текущей точкой в (X, Y); затем форма строится свободно методами сегментов пути. Четырёхкоординатная форма CreatePath(X, Y, Width, Height, ...) создаёт замкнутый прямоугольный путь напрямую — дополнительные вызовы сегментов перед AddPath не требуются

Все визуальные свойства пути — цвет и правило заливки, цвет обводки, ширина, непрозрачность, концы и соединения линий и режим наложения — задаются во время создания через необязательные параметры. Значения по умолчанию дают чёрную обводку толщиной 1 пт без заливки

Одновременно может строиться только один путь. Повторный вызов CreatePath перед AddPath отбрасывает предыдущий ожидающий путь

Example

// Draw a filled blue triangle with a 2-pt black outline
Pdf1.NewPage(595, 842);
Pdf1.CreatePath(100, 100, fmWinding, clBlue, $FF, True, clBlack, $FF, 2.0);
Pdf1.LineTo(200, 300);
Pdf1.LineTo(300, 100);
Pdf1.ClosePath;
Pdf1.AddPath;

// Draw a red filled rectangle using the 4-coordinate overload
Pdf1.CreatePath(50, 400, 200, 80, fmWinding, clRed);
Pdf1.AddPath;

See Also

MoveTo, LineTo, BezierTo, ClosePath, AddPath