Метод THotPDF.RegisterMultiStopRadialGradient
Регистрирует переиспользуемый нативный PDF radial shading, интерполирующий два и более color stop между внутренней и внешней окружностью
Объявление
function RegisterMultiStopRadialGradient(X0, Y0, R0, X1, Y1, R1: Single; const StopPositions: array of Single; const StopColors: array of Single; ComponentsPerStop: Integer): AnsiString;
Модуль
HPDFDoc
Параметры
| Имя | Назначение |
|---|---|
X0, Y0, R0 | Центр и неотрицательный радиус внутренней окружности |
X1, Y1, R1 | Центр и неотрицательный радиус внешней окружности |
StopPositions | Два и более строго возрастающих конечных смещения во включительном диапазоне от нуля до единицы |
StopColors | Упакованные подряд конечные компоненты цвета во включительном диапазоне от нуля до единицы |
ComponentsPerStop | 1 выбирает DeviceGray, 3 — DeviceRGB, 4 — DeviceCMYK |
Возвращаемое значение
Возвращает сгенерированное имя ресурса Pattern для THPDFPage.SetFillPattern или THPDFPage.SetStrokePattern
Поведение
- Строит одну stitching-функцию PDF Function Type 3 из ограниченных сегментов Function Type 2
- Создаёт dictionary Shading Type 3 и оборачивает его в переиспользуемый ресурс Pattern Type 2
- Продлевает первый и последний color stop за пределы радиальной области
- Отклоняет non-finite координаты, отрицательные радиусы, некорректные массивы цвета, дубликаты смещений, а также смещения или компоненты цвета вне допустимых диапазонов
- Требует PDF 1.3 и следует политике блокировки версии документа
Пример
PatternName := Document.RegisterMultiStopRadialGradient(
300, 400, 0, 300, 400, 250,
[0.0, 0.5, 1.0],
[1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0], 3);
Document.CurrentPage.SetFillPattern(PatternName);