RecolorPage

Цвет

Описание

Переводит выбранную страницу в одно цветовое пространство

Синтаксис

Delphi

Function TPDFlib.RecolorPage(TargetSpace: Integer): Integer;

Параметры

TargetSpace1 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

См. также

RecolorDocument