RecolorPage
Цвет
Описание
Переводит выбранную страницу в одно цветовое пространство
Синтаксис
Delphi
Function TPDFlib.RecolorPage(TargetSpace: Integer): Integer;Параметры
| TargetSpace | 1 grey, 2 RGB, 3 CMYK. |
|---|
Возвращаемые значения
| Count | Сколько цветов было конвертировано на этой странице |
|---|---|
| 0 | Конвертировать было нечего, либо TargetSpace был вне 1–3. Страница тогда сохраняет исходные байты |
Примечания
Преобразование — обычная аппаратная арифметика, а не цветоуправляемая: документ, указывающий только DeviceRGB, не несёт профиля для конвертации. RGB становится серым по весам яркости ITU-R BT.601, CMYK конвертируется как описано в ISO 32000-1 §8.6.4.4 — именно это просмотрщик и делает, показывая CMYK-документ на экране
Цвета из пространств ICCBased, Separation, Indexed или Pattern остаются как есть: читать их составляющие без профиля значило бы изменить вид страницы, а не сохранить его, поэтому конвертируются только части документа, напрямую называющие аппаратное пространство
Изображения этим вызовом не конвертируются: одно изображение может рисоваться на нескольких страницах, поэтому его конвертация здесь изменила бы страницы, о которых вызывающий не спрашивал. Чтобы конвертировать и изображения, используйте RecolorDocument
Геометрия, текст, отсечение и остальные операторы записываются обратно без изменений
Слои страницы объединяются до прохода: цвет, заданный на одном слое, действует и на следующем, а раздельное чтение это потеряло бы
Пример
PDF.SelectPage(1);
PDF.RecolorPage(1); // this page in grey