sRGB: un espacio de colores estándar
Como resultado de las consideraciones de ancho de banda de Internet, Hewlett-Packard y Microsoft han propuesto la adopción de un espacio de colores predefinido estándar conocido como sRGB (IEC 61966-2-1), para permitir una asignación de color precisa con muy poca sobrecarga de datos.
Una versión de archivo de ayuda de un documento técnico que describe los detalles técnicos de sRGB, sRGB.hlp, está disponible en la carpeta \Help de la Referencia del programador de WCS 1.0.
Los diferentes formatos de archivo pueden usar o agregar una marca para especificar que la imagen está en el espacio de colores sRGB. En el formato de mapa de bits independiente del dispositivo (DIB) de Windows, al establecer el miembro bV5CSType de la estructura BITMAPV5HEADER en LCS_sRGB especifica que los colores DIB están en el espacio de colores sRGB.
WCS 1.0 proporciona compatibilidad nativa con sRGB. Hay dos maneras de usar WCS 1.0 para representar una imagen definida en el espacio de colores sRGB:
Para representar una imagen dentro del contexto del dispositivo
- Cree un contexto de dispositivo (DC) en el dispositivo para mostrar.
- Establezca la administración de colores mediante la función SetICMMode .
- Use la función SetDIBitsToDevice para transferir la DIB al controlador de dominio. Siempre que el miembro bV5CSMType de la estructura BITMAPV5HEADER de DIBs se establezca en LCS_sRGB, el sistema realizará la administración de colores adecuada.
Para representar una imagen fuera del contexto del dispositivo
- Cree una transformación mediante CreateColorTransformW. El miembro lcsCSType de la estructura LOGCOLORSPACE a la que apunta el parámetro pLogColorSpace debe establecerse en LCS_sRGB. El parámetro hDestProfile indica el espacio de color del dispositivo para mostrar.
- Use la transformación de color creada para que coincida con la imagen antes de mostrarla en el dispositivo.
Valores predeterminados de WCS 1.0 para el espacio de colores de entrada y el perfil de salida
Cuando no se especifica ningún espacio de colores de entrada, WCS 1.0 usa de forma predeterminada el espacio de colores sRGB como espacio de colores de entrada para la asignación de colores.
Cuando no se especifica ningún perfil de salida, pero se especifica un dispositivo predeterminado, WCS 1.0 selecciona un perfil de salida predeterminado. Si el dispositivo predeterminado no tiene un perfil asociado, WCS 1.0 usa el espacio de color sRGB como perfil de salida.
En la tabla siguiente se muestran las transformaciones de color resultantes cuando un dispositivo predeterminado no está disponible.
Perfil de salida especificado | Perfil de salida no especificado | |
---|---|---|
Espacio de colores de entrada especificado | La transformación usa los perfiles especificados. | La transformación convierte del espacio de color de entrada conocido a sRGB. |
Espacio de colores de entrada no especificado | La transformación convierte de sRGB a un perfil de salida conocido. | Se supone la transformación de sRGB a sRGB; no se hace nada. |
sRGB y perfiles incrustados
A partir de la versión 2.0 de ICM, las aplicaciones que usan WCS pueden insertar perfiles en imágenes. Los perfiles incrustados ayudan a las aplicaciones de los usuarios a mantener una apariencia de color coherente incluso si las imágenes se transmiten a través de Internet.
Las imágenes que usan el espacio de colores sRGB no necesitan un perfil de color incrustado. Dado que no tienen ningún perfil incrustado, las imágenes basadas en sRGB son más pequeñas y fáciles de transferir entre canales de datos con ancho de banda limitado.
Las aplicaciones deben establecer la marca LCS_sRGB en el encabezado de mapa de bits de la imagen para indicar que la imagen usa el espacio de colores sRGB. Para obtener más información, vea Estructuras de encabezado de mapa de bits de Windows y LOGCOLORSPACE.