Uso de funções GDI com WCS

Há várias funções na GDI (interface gráfica do dispositivo) que usam ou operam em dados de cor. Alguns estão habilitados para uso com o WCS e outros não. As seguintes funções GDI são relevantes para o ICM:

Funções de contexto do dispositivo com o WCS

Função Descrição
Createcompatibledc Se o contexto do dispositivo (DC) passado para essa função por meio de seu parâmetro hdc estiver habilitado para ICM, o DC que a função criar também será habilitado para ICM. Os espaços de cor de origem e de destino são especificados no DC.
Createdc O ICM pode ser habilitado definindo o membro dmICMMethod da estrutura DEVMODE apontada pelo parâmetro pInitData para o valor apropriado. Para obter detalhes, consulte a documentação no SDK da plataforma na estrutura DEVMODE.
Resetdc O perfil de cor do contexto do dispositivo especificado pelo parâmetro hdc será redefinido com base nas informações na estrutura DEVMODE especificada pelo parâmetro lpInitData.

 

Funções de caneta e pincel com WCS

Função Descrição
Funções brush Nenhum gerenciamento de cores é feito na criação do pincel. No entanto, o gerenciamento de cores será executado quando o pincel for selecionado em um DC habilitado para ICM.
Createpen Nenhum gerenciamento de cores é feito na criação da caneta. No entanto, o gerenciamento de cores será executado quando o pincel for selecionado em um DC habilitado para ICM.
ExtCreatePen Nenhum gerenciamento de cores é feito na criação da caneta. No entanto, o gerenciamento de cores será executado quando o pincel for selecionado em um DC habilitado para ICM.
SelectObject Se o objeto que está sendo selecionado for um pincel ou uma caneta, o gerenciamento de cores será executado.
SetDCBrushColor O gerenciamento de cores será executado se o WCS estiver habilitado.
SetDCPenColor O gerenciamento de cores será executado se o WCS estiver habilitado.

 

Funções de saída de texto com WCS

Função Descrição
Setbkcolor O gerenciamento de cores será executado se o WCS estiver habilitado.
Settextcolor O gerenciamento de cores será executado se o WCS estiver habilitado.

 

Funções de Bitmap com WCS

Função Descrição
Bitblt Nenhum gerenciamento de cores é executado quando ocorrem blits.
Createdibitmap O parâmetro fuUsage especifica que o membro bmiColors da estrutura BITMAPINFO apontada pelo parâmetro lpbmi faz ou não contém informações de cor. Se isso não acontecer, nenhum gerenciamento de cores será executado para este bitmap. O bitmap deve usar a versão 4 ou a versão 5 da estrutura BITMAPINFO para que o gerenciamento de cores seja habilitado. O conteúdo do bitmap resultante não é correspondente à cor após a criação do bitmap.
Createdibsection Se a estrutura BITMAPINFO passada pelo parâmetro pbmi não for a versão 4 ou a versão 5, nenhum gerenciamento de cores será feito. Se for a versão 4 ou 5, o gerenciamento de cores será habilitado e o espaço de cor especificado estará associado ao bitmap.
Maskblt Nenhum gerenciamento de cores é executado quando ocorrem blits.
SelectObject Se o objeto for um bitmap criado com CreateDIBSection, o gerenciamento de cores será executado. O espaço de cor do bitmap é usado como o espaço de cor de destino.
Setdibits O gerenciamento de cores é executado. Se a estrutura BITMAPINFO especificada não for a versão 4 ou a versão 5, o perfil de cor do DC atual será usado como o perfil de espaço de cor de origem. Se ele não tiver um, o espaço sRGB será usado. Se a estrutura BITMAPINFO especificada for a versão 4 ou 5, o perfil de espaço de cor especificado no cabeçalho bitmap será usado como o perfil de espaço de cor de origem.
Setdibitstodevice O gerenciamento de cores é executado. Se a estrutura BITMAPINFO especificada não for a versão 4 ou a versão 5, o perfil de cor do contexto atual do dispositivo será usado como o perfil de espaço de cor de origem. Se ele não tiver um, o espaço de cor sRGB será usado. Se a estrutura BITMAPINFO especificada for a versão 4 ou 5, o perfil de espaço de cor associado ao bitmap será usado como o espaço de cor de origem.
SetDIBColorTable Nenhum gerenciamento de cores é executado.
Stretchblt Nenhum gerenciamento de cores é executado quando ocorrem blits.
Stretchdibits O gerenciamento de cores é executado. Se a estrutura BITMAPINFO especificada não for a versão 4 ou a versão 5, o perfil de cor do DC atual será usado como o perfil de espaço de cor de origem. Se ele não tiver um, o espaço sRGB será usado. Se a estrutura BITMAPINFO especificada for a versão 4 ou 5, o perfil de espaço de cor especificado no cabeçalho bitmap será usado como o perfil de espaço de cor de origem.