Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use o efeito de gerenciamento de cores para transformar uma imagem de um perfil de cor ICC (International Color Consortium) para outro. O efeito transforma a imagem de acordo com a especificação do ICC.
O CLSID para esse efeito é CLSID_D2D1ColorManagement.
- propriedades do efeito
- modos de intenção de renderização
- modos alfa da imagem de entrada
- conformidade com a especificação do ICC
- o comportamento do canal Alfa
- modos de qualidade
- de código de exemplo
- requisitos de
- tópicos relacionados
Propriedades de efeito
| Nome de exibição e enumeração de índice | Descrição |
|---|---|
| SourceContext D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT |
As informações de espaço de cor de origem. O tipo é ID2D1ColorContext. O valor padrão é NULL. |
| SourceIntent D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT |
Qual intenção de renderização ICC usar. O tipo é D2D1_COLORMANAGEMENT_RENDERING_INTENT. O valor padrão é D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL. |
| DestinationContext D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT |
As informações de espaço de cor de destino. O tipo é ID2D1ColorContext. O valor padrão é NULL. |
| DestinationIntent D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT |
Qual intenção de renderização ICC usar. O tipo é D2D1_COLORMANAGEMENT_RENDERING_INTENT. O valor padrão é D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL. |
| AlphaMode D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE |
Como interpretar dados alfa contidos na imagem de entrada. O tipo é D2D1_COLORMANAGEMENT_ALPHA_MODE. O valor padrão é D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED. |
| Qualidade D2D1_COLORMANAGEMENT_PROP_QUALITY |
O nível de qualidade da transformação. O tipo é D2D1_COLORMANAGEMENT_QUALITY. O valor padrão é D2D1_COLORMANAGEMENT_QUALITY_NORMAL. |
Modos de intenção de renderização
| Enumeração | Descrição |
|---|---|
| D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL | O efeito compacta ou expande a gama de cores completa da imagem para preencher a gama de cores do dispositivo, para produzir uma saída percepticamente agradável que preserva detalhes de cor, mas pode sacrificar a precisão colorimétrica. É útil para reprodução geral de conteúdo da vida real, como fotos. |
| D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC | O efeito ajusta todas as cores que ficam fora da gama que o dispositivo de saída pode renderizar para a cor mais próxima que pode ser renderizada. Não preserva o ponto branco. |
| D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION | O efeito preserva a saturação de cores puras na imagem em detrimento possível de matiz e leveza. É útil para gráficos como gráficos e diagramas. |
| D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC | O efeito ajusta todas as cores que ficam fora da gama que o dispositivo de saída pode renderizar para a cor mais próxima que pode ser renderizada. O efeito não altera as cores na gama e preserva o ponto branco. |
Modos alfa de imagem de entrada
| Enumeração | Descrição |
|---|---|
| D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED | O efeito pressupõe que o modo alfa seja pré-multiplicado. |
| D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT | O efeito pressupõe que o modo alfa seja reto. |
D2D1_GAMMA1_G2084 alterações de comportamento
Se o aplicativo usar o espaço D2D1_GAMMA1_G2084 ou um dos valores de enumeração DXGI_COLOR_SPACE_TYPE que usam o espaço de cores SMPTE ST.2084 (Quantizer Perceptual), o aplicativo pretende trabalhar com dados HDR.
O ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile e ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace APIs não são responsáveis por isso; em vez disso, o conteúdo hdr é dimensionado para caber no intervalo 0-1 durante a operação de DeGamma G2084.
Na prática, o conteúdo codificado nesse espaço gama usa um WhiteLevel de referência de 10.000 Nits, que normalmente seria representado no CCCS como 10.000 /80 = 125,0. Portanto, para facilitar melhor seu aplicativo, é mais simples para essa conversão gama também dimensionar a luminância em um fator de 125. A partir do Windows 10, versão 1809 (10.0; Build 17763), o comportamento do efeito de gerenciamento de cores é tal que ele aplica esse dimensionamento. Isso significa que você, como desenvolvedor, não precisa aplicar um segundo efeito de ajuste no nível branco no pipeline.
Conformidade com a especificação do ICC
O efeito de gerenciamento de cores está em conformidade com a especificação ICC v4.3, com estas limitações:
- O efeito dá suporte a espaços de cores de 1, 3 e 4 canais.
- O efeito não dá suporte a perfis ColorSpace ou Cor Nomeada.
Comportamento do canal alfa
Em geral, o efeito define alfa como 1 (opaco) se não houver dados alfa na imagem de origem e os dados alfa forem descartados se não houver espaço na imagem de destino. A tabela aqui descreve o comportamento alfa.
| Colorspace de origem, formato de pixel | Colorspace de destino, formato de pixel | Comportamento alfa |
|---|---|---|
| 1 canal, formato de pixel R |
1 canal, formato de pixel R | (Sem dados alfa) |
| 1 canal, formato de pixel RGBA | Os dados alfa são definidos como 1 (opaco) | |
| 3 canais, formato de pixel RGBA | Os dados alfa são definidos como 1 (opaco) | |
| 4 canais, formato de pixel RGBA | (Sem dados alfa) | |
| 1 canal, formato de pixel RGBA |
1 canal, formato de pixel R | Os dados alfa são descartados |
| 1 canal, formato de pixel RGBA | Os dados alfa são passados | |
| 3 canais, formato de pixel RGBA | Os dados alfa são passados | |
| 4 canais, formato de pixel RGBA | Os dados alfa são descartados | |
| 3 canais, formato de pixel RGBA |
1 canal, formato de pixel R | Os dados alfa são descartados |
| 1 canal, formato de pixel RGBA | Os dados alfa são passados | |
| 3 canais, formato de pixel RGBA | Os dados alfa são passados | |
| 4 canais, formato de pixel RGBA | Os dados alfa são descartados | |
| 4 canais, formato de pixel RGBA |
1 canal, formato de pixel R | (Sem dados alfa) |
| 1 canal, formato de pixel RGBA | Os dados alfa são definidos como 1 (opaco) | |
| 3 canais, formato de pixel RGBA | Os dados alfa são definidos como 1 (opaco) | |
| 4 canais, formato de pixel RGBA | (Sem dados alfa) |
Modos de qualidade
| Modo | Descrição |
|---|---|
| D2D1_COLORMANAGEMENT_QUALITY_PROOF | O modo de qualidade mais baixo. Esse modo requer o nível de recurso 9_1 ou superior. |
| D2D1_COLORMANAGEMENT_QUALITY_NORMAL | Modo de qualidade normal. Esse modo requer o nível de recurso 9_1 ou superior. |
| D2D1_COLORMANAGEMENT_QUALITY_BEST | O modo de melhor qualidade. Esse modo requer o nível de recurso 10_0 ou superior, bem como buffers de precisão de ponto flutuante. Esse modo dá suporte à precisão de ponto flutuante, bem como ao intervalo estendido, conforme definido na especificação ICC v4.3. |
O efeito de gerenciamento de cores falhará ao desenhar se o aplicativo solicitar um modo de qualidade sem suporte pelo hardware. Você pode determinar o nível de recurso ao chamar D3D11CreateDevice. Você pode verificar se há suporte a buffer de ponto flutuante chamando ID2D1EffectContext::IsBufferPrecisionSupported com o valor D2D1_BUFFER_PRECISION_32BPC_FLOAT.
Código de exemplo
Para obter um exemplo desse efeito, baixe a amostra de ajuste de fotos de efeitos Direct2De consulte a Lição 4 do exemplo.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte | Windows 8 e Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store] |
| Servidor mínimo com suporte | Windows 8 e Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store] |
| Cabeçalho | d2d1effects.h |
| Biblioteca | d2d1.lib, dxguid.lib |