Compartilhar via


Função WcsCreateIccProfile (icm.h)

Converte um perfil do WCS em um perfil do ICC (International Color Consortium).

Sintaxe

HPROFILE WcsCreateIccProfile(
  HPROFILE hWcsProfile,
  DWORD    dwOptions
);

Parâmetros

hWcsProfile

Um identificador para o perfil de cor do WCS que é convertido. Consulte Observações.

dwOptions

Um valor de sinalizador que especifica as opções de conversão de perfil.

Por padrão, os perfis WCS originais usados para a conversão são inseridos no perfil ICC de saída em uma marca privada da Microsoft, WcsProfilesTag (com a assinatura "MS000". Isso produz um perfil ICC compatível com o software ICC, mas mantém os dados de perfil do WCS originais disponíveis para código projetado para analisá-los.

Os valores possíveis desse parâmetro são os seguintes. Todos os bits não definidos nesta lista são reservados e devem ser definidos como zero:

Valor Descrição
WCS_DEFAULT Especifica que o novo perfil ICC contém o perfil WCS original em um WcsProfilesTag privado.
WCS_ICCONLY Especifica que o novo perfil ICC não contém o WcsProfilesTag ou o perfil original do WCS.

Valor retornado

Se essa função for bem-sucedida, o valor retornado será o identificador do novo perfil de cor.

Se essa função falhar, o valor retornado será NULL. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Essa função pode ser usada com cadeias de caracteres ASCII ou Unicode.

A função CloseColorProfile deve ser usada para fechar o identificador HPROFILE retornado quando ele não for mais necessário.

O DMP, o CAMP e o GMMP do HPROFILE são inseridos em uma marca privada dentro do perfil ICC criado.

O perfil ICC criado usando essa API terá sua marca de descrição de perfil construída a partir dos elementos ProfileName dos perfis do WCS de acordo com o seguinte padrão: "Criado pelo Microsoft WCS do DMP:[o DMP ProfileName], CAMP:[the CAMP ProfileName], GMMP:[the GMMP ProfileName]"

Quando o WCS encontra esse perfil ICC (via OpenColorProfileW ou WcsOpenColorProfileW ), ele extrai e usa os perfis do WCS contidos no WcsProfilesTag.

As informações fora da gama nas marcas de gama criadas no WCS usam a distância de cor perceptiva no CIECAM02, que é a raiz quadrada média no espaço CIECAM02 Jab. A distância em marcas de gama de perfil ICC herdadas é a raiz quadrada média no espaço CIELAB. É recomendável que você use o espaço CIECAM02 quando ele estiver disponível, para fornecer métricas de distância mais percepticamente precisas.

O WCS extrai e usa o perfil WCS original por meio de um perfil XML explicitamente associado a um dispositivo ou um perfil ICC que tem umWcsProfilesTag.

O WcsProfilesTag é uma marca de perfil ICC privada da Microsoft usada em perfis criados por WcsCreateIccProfile para conter a entrada de perfis WCS para WcsCreateIccProfile. Essa marca está em conformidade com os requisitos de perfil do ICC para marcas de perfil. Os componentes não XML da marca devem estar na ordenação de bytes "Big-Endian", que é padrão para perfis ICC. Além disso, os dados da marca devem ser alinhados em um limite de 4 bytes (medido desde o início do perfil ICC). A estrutura da marca é definida pelo WcsProfilesTagType abaixo. Observe que os componentes XML da marca, os perfis do WCS contidos no WcsProfileTag, são deixados em sua ordenação de bytes nativo, que pode ser little-endian ou big-endian, já que os analisadores XML processam corretamente.

A assinatura WcsProfilesTag é "MS00". Essa é a assinatura de marca que aparecerá na tabela de marcas de perfis ICC para o WcsProfilesTag.

A estrutura WcsProfilesTagType tem a seguinte estrutura:

Deslocamento de byte Conteúdo
0-3 A assinatura do tipo MS10.
4-7 Reservado, deve ser definido como 0 (tradição ICC).
8-11 Deslocamento de bytes do início da marca para os dados do CDMP.
12-15 Tamanho dos dados cdmp em bytes.
16-19 Deslocamento de bytes do início da marca para os dados do CAMP.
20-23 Tamanho dos dados CAMP em bytes.
24-27 Deslocamento de bytes do início da marca para os dados GMMP.
28-31 Deslocamento de bytes do início da marca para os dados GMMP.
31-n Uma sequência de (tamanho do elemento -32) bytes [em que o tamanho do elemento é o tamanho da marca registrado na entrada da tabela de marcas de perfil ICC para essa marca.]

Esses são os perfis XML do WCS que foram usados pelo WcsCreateIccProfile para criar esse perfil ICC. Os perfis do WCS são ordenados: o DMP (obrigatório) primeiro, seguido pelo CAMP (se presente), seguido pelo GMMP (se presente).

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho icm.h
Biblioteca Mscms.lib
DLL Mscms.dll

Confira também