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.
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.
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
.