RecolorDocument

Cor

Descrição

Move todas as páginas do documento para um espaço de cor

Sintaxe

Delphi

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

Parâmetros

TargetSpace1 cinzento, 2 RGB, 3 CMYK

Valores devolvidos

CountO número de cores convertidas em todo o documento
0Nada precisava de conversão ou TargetSpace estava fora do intervalo 1 a 3. Uma página cujas cores já estejam no espaço de destino conserva os bytes originais

Observações

A conversão utiliza aritmética normal de dispositivo, não gestão de cores: um documento que indique apenas DeviceRGB não contém um perfil através do qual efetuar a conversão. RGB é convertido em cinzento segundo os pesos de luminância de ITU-R BT.601 e CMYK é convertido conforme descrito na norma ISO 32000-1 §8.6.4.4, tal como um visualizador já faz ao apresentar um documento CMYK num ecrã

As cores definidas através de um espaço ICCBased, Separation, Indexed ou Pattern são mantidas. Ler os respetivos componentes sem o perfil alteraria a aparência da página em vez de a conservar, pelo que esse documento só é convertido nas partes que indicam diretamente um espaço de dispositivo

As imagens desenhadas por uma página também são convertidas quando têm oito bits por componente, um espaço de cor de dispositivo e nenhuma compressão ou Flate simples. Uma imagem JPEG ou de fax teria de ser novamente codificada, o que é uma operação diferente da conversão das cores, pelo que mantém os seus próprios bytes

Em alternativa, uma imagem indexada é convertida através da respetiva tabela de cores, pelo que as amostras conservam os índices que já tinham. Esse caminho não depende da forma como as amostras estão empacotadas ou comprimidas, o que permite converter uma captura de ecrã ou um gráfico com paleta mesmo que não seja possível reescrever as amostras

Os gradientes são convertidos juntamente com as funções subjacentes, para que o espaço e as paragens correspondam sempre. Um gradiente construído a partir duma função amostrada ou PostScript mantém as suas próprias cores, tal como os tipos de sombreado em malha, que transportam as cores num fluxo e não numa função

As máscaras suaves e as máscaras de stencil não são alteradas. Ambas são lidas como cobertura, não como cor, e a conversão de uma delas faria com que a página apresentasse a máscara como imagem

A geometria, o texto, o recorte e todos os outros operadores são novamente escritos sem alterações

A página selecionada é restaurada quando a chamada devolve

Exemplo

// Send a mixed-colour document to a press that expects CMYK
PDF.LoadFromFile('brochure.pdf', '');
Converted := PDF.RecolorDocument(3);
PDF.SaveToFile('brochure-cmyk.pdf');

Consulte também

RecolorPage, SetFillColor, SetFillColorCMYK