Efecto de administración de colores
Use el efecto de administración de colores para transformar una imagen de un perfil de color ICC (International Color Consortium) a otro. El efecto transforma la imagen según la especificación ICC.
El CLSID de este efecto es CLSID_D2D1ColorManagement.
- propiedades Effect
- modos de intención de representación
- modos alfa de imagen de entrada
- cumplimiento de la especificación icc
- comportamiento del canal Alfa
- modos de calidad
- código de ejemplo
- requisitos de
- temas relacionados
Propiedades de efecto
Enumeración de índice y nombre para mostrar | Descripción |
---|---|
SourceContext D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT |
Información del espacio de color de origen. El tipo es ID2D1ColorContext. El valor predeterminado es NULL. |
SourceIntent D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT |
Qué intención de representación de ICC se va a usar. El tipo es D2D1_COLORMANAGEMENT_RENDERING_INTENT. El valor predeterminado es D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL. |
DestinationContext D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT |
Información del espacio de colores de destino. El tipo es ID2D1ColorContext. El valor predeterminado es NULL. |
DestinationIntent D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT |
Qué intención de representación de ICC se va a usar. El tipo es D2D1_COLORMANAGEMENT_RENDERING_INTENT. El valor predeterminado es D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL. |
AlphaMode D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE |
Interpretación de los datos alfa contenidos en la imagen de entrada. El tipo es D2D1_COLORMANAGEMENT_ALPHA_MODE. El valor predeterminado es D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED. |
Calidad D2D1_COLORMANAGEMENT_PROP_QUALITY |
Nivel de calidad de la transformación. El tipo es D2D1_COLORMANAGEMENT_QUALITY. El valor predeterminado es D2D1_COLORMANAGEMENT_QUALITY_NORMAL. |
Modos de intención de representación
Enumeración | Descripción |
---|---|
D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL | El efecto comprime o expande la gama de colores completa de la imagen para rellenar la gama de colores del dispositivo, para producir una salida perceptualmente agradable que conserva los detalles del color, pero puede sacrificar la precisión colorimétrica. Es útil para la reproducción general de contenido de la vida real, como fotos. |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC | El efecto ajusta los colores que se encuentran fuera de la gama que el dispositivo de salida puede representar en el color más cercano que se puede representar. No conserva el punto blanco. |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION | El efecto conserva la saturación de los colores puros en la imagen a costa del tono y la ligereza posibles. Resulta útil para gráficos como gráficos como gráficos y diagramas. |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC | El efecto ajusta los colores que se encuentran fuera de la gama que el dispositivo de salida puede representar en el color más cercano que se puede representar. El efecto no cambia los colores en la gama y conserva el punto blanco. |
Modos alfa de imagen de entrada
Enumeración | Descripción |
---|---|
D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED | El efecto supone que el modo alfa está premultipado. |
D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT | El efecto supone que el modo alfa es recto. |
D2D1_GAMMA1_G2084 cambios de comportamiento
Si la aplicación usa el espacio de D2D1_GAMMA1_G2084 o uno de los valores de enumeración de DXGI_COLOR_SPACE_TYPE que usan el espacio de color SMPTE ST.2084 (Cuantificador perceptual), la aplicación pretende trabajar con datos HDR.
Los ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile y ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace API no tienen en cuenta eso; en su lugar, el contenido HDR se escala para ajustarse al rango de 0-1 durante la operación G2084 DeGamma.
En la práctica, el contenido codificado en este espacio gamma usa una referencia WhiteLevel de 10 000 Nits, que normalmente se representaría en CCCS como 10 000 / 80 = 125,0. Por lo tanto, para facilitar mejor tu aplicación, es más sencillo que esta conversión gamma también escale la luminancia por un factor de 125. A partir de Windows 10, versión 1809 (10.0; Compilación 17763), el comportamiento del efecto de administración de colores es tal que aplica este escalado. Esto significa que, como desarrollador, no tiene que aplicar un segundo efecto de ajuste de nivel blanco en la canalización.
Cumplimiento con la especificación icc
El efecto de administración de colores es compatible con la especificación ICC v4.3, con estas limitaciones:
- El efecto admite 1, 3 y 4 espacios de color de canal.
- El efecto no admite perfiles colorspace ni color con nombre.
Comportamiento del canal alfa
En general, el efecto establece alfa en 1 (opaco) si no hay datos alfa en la imagen de origen y los datos alfa se descartan si no hay ninguna sala en la imagen de destino. En la tabla siguiente se describe el comportamiento alfa.
Espacio de colores de origen, formato de píxel | Espacio de colores de destino, formato de píxel | Comportamiento alfa |
---|---|---|
1 canal, formato de píxel de R |
1 canal, formato de píxel de R | (Sin datos alfa) |
1 canal, formato de píxel RGBA | Los datos alfa se establecen en 1 (opaco) | |
3 canales, formato de píxel RGBA | Los datos alfa se establecen en 1 (opaco) | |
4 canales, formato de píxel RGBA | (Sin datos alfa) | |
1 canal, formato de píxel RGBA |
1 canal, formato de píxel de R | Los datos alfa se descartan |
1 canal, formato de píxel RGBA | Los datos alfa se pasan a través de | |
3 canales, formato de píxel RGBA | Los datos alfa se pasan a través de | |
4 canales, formato de píxel RGBA | Los datos alfa se descartan | |
3 canales, formato de píxel RGBA |
1 canal, formato de píxel de R | Los datos alfa se descartan |
1 canal, formato de píxel RGBA | Los datos alfa se pasan a través de | |
3 canales, formato de píxel RGBA | Los datos alfa se pasan a través de | |
4 canales, formato de píxel RGBA | Los datos alfa se descartan | |
4 canales, formato de píxel RGBA |
1 canal, formato de píxel de R | (Sin datos alfa) |
1 canal, formato de píxel RGBA | Los datos alfa se establecen en 1 (opaco) | |
3 canales, formato de píxel RGBA | Los datos alfa se establecen en 1 (opaco) | |
4 canales, formato de píxel RGBA | (Sin datos alfa) |
Modos de calidad
Modo | Descripción |
---|---|
D2D1_COLORMANAGEMENT_QUALITY_PROOF | Modo de calidad más bajo. Este modo requiere el nivel de característica 9_1 o superior. |
D2D1_COLORMANAGEMENT_QUALITY_NORMAL | Modo de calidad normal. Este modo requiere el nivel de característica 9_1 o superior. |
D2D1_COLORMANAGEMENT_QUALITY_BEST | El mejor modo de calidad. Este modo requiere el nivel de característica 10_0 o superior, así como búferes de precisión de punto flotante. Este modo admite la precisión de punto flotante, así como el intervalo extendido tal como se define en la especificación ICC v4.3. |
Se produce un error en el efecto de administración de colores al dibujar si la aplicación solicita un modo de calidad que no es compatible con el hardware. Puede determinar el nivel de característica al llamar a D3D11CreateDevice. Puede comprobar si hay compatibilidad con el búfer de punto flotante llamando a ID2D1EffectContext::IsBufferPrecisionSupported con el valor D2D1_BUFFER_PRECISION_32BPC_FLOAT.
Código de ejemplo
Para obtener un ejemplo de este efecto, descargue el ejemplo de ajuste fotográfico de efectos Direct2Dy vea lección 4 de la muestra.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo admitido | Windows 8 y Platform Update para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows] |
Servidor mínimo admitido | Windows 8 y Platform Update para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows] |
Encabezado | d2d1effects.h |
Biblioteca | d2d1.lib, dxguid.lib |