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 de efecto
- 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
- Temas relacionados
Propiedades de efecto
Enumeración de nombre para mostrar e índice | Descripción |
---|---|
SourceContext D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT |
Información del espacio de colores 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 |
Cómo interpretar 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 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 al 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 colores puros en la imagen a costa del matiz y la ligereza posibles. Resulta útil para 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 al color más cercano que se puede representar. El efecto no cambia los colores de 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á premultiplicado. |
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 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 (Perceptual Quantizer), la aplicación pretende trabajar con datos HDR.
Las API ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile y ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace no tienen en cuenta; en su lugar, el contenido HDR se escala para ajustarse al intervalo de 0 a 1 durante la operación G2084 DeGamma.
En la práctica, el contenido codificado en este espacio gamma utiliza 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 la 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 es necesario aplicar un segundo efecto de ajuste de nivel blanco a la canalización.
Cumplimiento de 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 o 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 espacio en la imagen de destino. En la tabla siguiente se describe el comportamiento alfa.
Espacio de colores de origen, formato de píxeles | Espacio de colores de destino, formato de píxeles | 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
Mode | 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 los 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 la muestra de ajuste fotográfico de efectos Direct2D y vea lección 4 de la muestra.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 y actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows] |
Servidor mínimo compatible | Windows 8 y actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones de la Tienda Windows] |
Encabezado | d2d1effects.h |
Biblioteca | d2d1.lib, dxguid.lib |