Partilhar via


Limitações CImage com sistemas operacionais anteriores

Muitos CImage funções funcionam apenas com versões mais recentes do Windows: Windows 95/98 ou Windows NT 4.0 ou Windows 2000.Este artigo descreve as limitações da versão de determinados métodos.

CImage::PlgBlt e CImage::MaskBlt com apenas Windows NT 4.0 ou posterior.Eles não funcionarão em aplicativos em execução no Windows 95/98 ou posterior.

CImage::AlphaBlend e CImage::TransparentBlt com somente Windows 2000 ou posterior e Windows 98 ou posterior, porque você deve vincular com msimg32.lib para usar esses métodos.(Essa biblioteca está disponível somente para aplicativos que executam o Windows 2000 ou posterior e Windows 98 ou posterior.)

Você pode incluir AlphaBlend e TransparentBlt em um aplicativo é executado no Windows 95 ou 4.0 Windows NT somente se esses métodos nunca ser chamados.Se seu aplicativo inclui esses métodos, e ele deve ser executado em sistemas operacionais anteriores, você deve usar o vinculador /delayload para atrasar o carregamento de msimg32.lib.Como o aplicativo não chamar um desses métodos durante a execução em Windows NT 4.0 ou Windows 95, ele não tentará carregar msimg32.lib.Você pode verificar se o suporte de transparência está disponível usando o CImage::IsTransparencySupported método.

Exemplo

if (CImage::IsTransparencySupported())
{
   // Safe to call CImage::AlphaBlend and CImage::TransparentBlt
}
else
{
   // Transparency not supported.  Fall back to something else.
}

Para compilar um aplicativo que chama esses métodos, inserir um # definir instrução WIN32_WINNT antes # incluindo quaisquer cabeçalhos de sistema, indicando que a versão do Windows é igual ou maior que 5.0:

#define _WIN32_WINNT 0x0501

Se seu aplicativo não precisa executar um sistema operacional anterior ao Windows 2000 ou Windows 98, você pode vincular diretamente a msimg32.lib sem usar /delayload.

CImage::Draw tem um comportamento diferente quando usado com o Windows 2000 e Windows 98 do que com Windows NT 4.0 ou Windows 95.

Se você compilar seu aplicativo com WIN32_WINNT definido para um valor menor que 0x0500, Desenhar irá funcionar, mas não manipulará transparência automaticamente em sistemas executando o Windows 2000 e Windows 98 ou posterior.

Se você compilar seu aplicativo com WIN32_WINNT definido como 0x0500 ou maior, Desenhar manipulará transparência automaticamente em sistemas executando Windows 2000 ou Windows 98 ou posterior.Ele também funcionará, mas sem suporte a transparência, com Windows NT 4.0 e Windows 95; No entanto, você deve usar /delayload para atrasar o carregamento de msimg32.LIB, conforme descrito acima para AlphaBlend e TransparentBlt.

Consulte também

Referência

Classe CImage