Espaço de cor de saída

O espaço de cores do resultado final da imagem de uma solicitação é definido com o comando icc=. Se icc= não for especificado, o espaço de cores de saída padrão (do catálogo principal da solicitação) que corresponde ao tipo de pixel da imagem de saída será usado como o espaço de cores de saída. Se nenhum perfil de saída for definido no catálogo principal ou padrão, e se a camada base for uma imagem com um perfil incorporado correspondente ao tipo de pixel de saída, esse perfil será usado para o espaço de cores de saída. Caso contrário, o espaço de cores de saída permanece indefinido — somente conversões de cores ingênuas são aplicadas ao converter entre tipos de pixel e nenhum perfil de cor pode ser incorporado na imagem de saída.

O espaço de cores de saída de uma solicitação do Servidor de imagens aninhada/incorporada é sempre o mesmo que o espaço de cores de saída da solicitação externa de incorporação.

Cores sólidas

Os valores de cor especificados com color=, bgcolor= ou o comando RTF \iscolortbl são associados ao espaço de cor de entrada se o valor de cor incluir o sufixo 'S', caso contrário, eles serão associados ao espaço de cor de saída. Os valores de cor especificados com bgc= ou os comandos RTF \colortbl e \cmykcolortbl são sempre associados ao espaço de cor de saída padrão ou real correspondente.

OBSERVAÇÃO
No momento, bgc= não participa totalmente do gerenciamento de cores - o sufixo 'S' é ignorado quando especificado com bgc=, e a conversão naïve é aplicada quando o tipo de pixel do valor de cor especificado com bgc= difere do tipo de pixel da imagem de saída. Caso contrário, bgc= será associado ao espaço de cores de saída real.

Solicitações aninhadas e incorporadas

O espaço de cores de saída para solicitações IS aninhadas e solicitações IR inseridas é automaticamente definido para o espaço de cores de saída da solicitação mais externa, a menos que a solicitação aninhada especifique um espaço de cores de saída explícito com icc=. Além disso, as solicitações aninhadas/incorporadas também herdam os espaços de cores de saída padrão do catálogo principal da solicitação mais externa, para garantir o tratamento consistente de valores de cores sólidas.

Conversão do espaço de cores

O Servidor de imagens geralmente tenta atrasar as conversões de cores durante o processamento. Se todas as camadas de uma imagem tiverem o mesmo espaço de cores de camada, a conversão para o espaço de cores de saída será feita após a mesclagem e o dimensionamento final. Se vários espaços de cores de camada estiverem envolvidos, cada camada será transformada no espaço de cores de saída antes da mesclagem.

OBSERVAÇÃO
Os comandos op_brightness=, op_colorbalance=, op_colorize=, op_contrast=, op_hue= e op_saturation= são operações RGB. Essas operações mantêm a fidelidade de cores somente se o espaço de cores da camada tiver o tipo de pixel RGB. Se diferente de RGB, os dados são convertidos em RGB usando conversão de cores ingênuas e o resultado tem fidelidade de cores limitada. O espaço de cores da camada para essas camadas deve ser considerado indeterminado.

As opções de conversão de cores são fornecidas com icc= ou, se icc= não for especificado, com attribute::IccRenderIntent, attribute::IccBlackPointCompensation e attribute::IccDither.