Función WcsCreateIccProfile (icm.h)
Convierte un perfil de WCS en un perfil de International Color Consortium (ICC).
Sintaxis
HPROFILE WcsCreateIccProfile(
HPROFILE hWcsProfile,
DWORD dwOptions
);
Parámetros
hWcsProfile
Identificador del perfil de color WCS que se convierte. Vea la sección Comentarios.
dwOptions
Valor de marca que especifica las opciones de conversión de perfil.
De forma predeterminada, los perfiles WCS originales usados para la conversión se insertan en el perfil ICC de salida en una etiqueta privada de Microsoft, WcsProfilesTag (con la firma "MS000". Esto genera un perfil ICC que es compatible con el software ICC, pero conserva los datos originales del perfil wcS disponibles para el código diseñado para analizarlo.
Los valores posibles de este parámetro son los siguientes. Los bits no definidos en esta lista están reservados y deben establecerse en cero:
Valor | Descripción |
---|---|
WCS_DEFAULT | Especifica que el nuevo perfil ICC contiene el perfil WCS original en un wcsProfilesTag privado. |
WCS_ICCONLY | Especifica que el nuevo perfil ICC no contiene wcsProfilesTag ni el perfil WCS original. |
Valor devuelto
Si esta función se realiza correctamente, el valor devuelto es el identificador del nuevo perfil de color.
Si se produce un error en esta función, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Esta función se puede usar con cadenas ASCII o Unicode.
La función CloseColorProfile debe usarse para cerrar el identificador HPROFILE devuelto cuando ya no es necesario.
El DMP, CAMP y GMMP del HPROFILE se insertan en una etiqueta privada dentro del perfil ICC creado.
El perfil ICC creado con esta API tendrá su etiqueta de descripción de perfil construida a partir de los elementos ProfileName de los perfiles WCS según el siguiente patrón: "Creado por Microsoft WCS desde DMP:[DMP ProfileName], CAMP:[the CAMP ProfileName], GMMP:[the GMMP ProfileName]"
Cuando WCS encuentra este perfil ICC (a través de OpenColorProfileW o WcsOpenColorProfileW ), extrae y usa los perfiles WCS contenidos en wcsProfilesTag.
La información fuera de gama en las etiquetas de gama creadas en WCS usa la distancia de color perceptual en CIECAM02, que es la raíz cuadrada media en el espacio jab CIECAM02. La distancia en las etiquetas de gama de perfiles ICC heredadas es la raíz cuadrada media en el espacio CIELAB. Se recomienda usar el espacio CIECAM02 cuando esté disponible, para proporcionar métricas de distancia más precisas de forma perceptual.
WCS extrae y usa el perfil WCS original mediante un perfil XML asociado explícitamente a un dispositivo o un perfil ICC que tiene unWcsProfilesTag.
WcsProfilesTag es una etiqueta de perfil ICC privada de Microsoft que se usa en los perfiles creados por WcsCreateIccProfile para contener la entrada de perfiles WCS a WcsCreateIccProfile. Esta etiqueta se ajusta a los requisitos de perfil icc para las etiquetas de perfil. Los componentes no XML de la etiqueta deben estar en el orden de bytes "Big-Endian", que es estándar para los perfiles ICC. Además, los datos de etiqueta deben alinearse en un límite de 4 bytes (medido desde el inicio del perfil ICC). La estructura de la etiqueta se define mediante wcsProfilesTagType siguiente. Tenga en cuenta que los componentes XML de la etiqueta, los perfiles de WCS contenidos en WcsProfileTag, se dejan en su ordenación de bytes nativa, que puede ser little-endian o big-endian, ya que los analizadores XML procesan correctamente.
La firma WcsProfilesTag es "MS00". Esta es la firma de etiqueta que aparecerá en la tabla de etiquetas de perfiles ICC para WcsProfilesTag.
La estructura WcsProfilesTagType tiene la siguiente estructura:
Desplazamiento de byte | Contenido |
---|---|
0-3 | Firma de tipo MS10. |
4-7 | Reservado, debe establecerse en 0 (tradición ICC). |
8-11 | Desplazamiento de bytes desde el principio de la etiqueta a los datos de CDMP. |
12-15 | Tamaño de los datos de CDMP en bytes. |
16-19 | Desplazamiento de bytes desde el principio de la etiqueta hasta los datos CAMP. |
20-23 | Tamaño de los datos camp en bytes. |
24-27 | Desplazamiento de bytes desde el principio de la etiqueta hasta los datos de GMMP. |
28-31 | Desplazamiento de bytes desde el principio de la etiqueta hasta los datos de GMMP. |
31-n | Secuencia de bytes (tamaño de elemento -32) [donde el tamaño del elemento es el tamaño de etiqueta registrado en la entrada de tabla de etiquetas de perfil ICC para esta etiqueta].] |
Estos son los perfiles XML de WCS usados por WcsCreateIccProfile para crear este perfil ICC. Los perfiles de WCS se ordenan: el DMP (obligatorio) primero, seguido del CAMP (si está presente), seguido del GMMP (si está presente).
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado | icm.h |
Library | Mscms.lib |
Archivo DLL | Mscms.dll |