Limitações de CImage com sistemas operacionais anteriores

Muitos CImage funções trabalhar apenas com as 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 and CImage::MaskBlt trabalho com apenas o Windows NT 4.0 ou posterior.Eles não funcionarão em aplicativos em execução no Windows 95/98 ou posterior.

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

Você pode incluir AlphaBlend e TransparentBlt um aplicativo que executa no Windows 95 ou Windows NT 4.0, somente se esses métodos nunca chamados. Se seu aplicativo incluir esses métodos, e deve ser executada no sistemas operacionais anteriores, você deve usar /atrasoLoad para atraso o carregamento de msimg32.lib.sistema autônomo longo sistema autônomo seu aplicativo não chama um dos seguintes métodos ao ser executado em Windows NT 4.0 ou Windows 95, ele não tentará carregar msimg32.lib.Você pode verificar se o suporte a 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 # define _WIN32_WINNT demonstrativo antes # incluindo cabeçalhos qualquer 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 mais antigo que o Windows 2000 ou Windows 98, você pode vincular diretamente a msimg32.lib sem usar /delayload.

CImage::Draw se comporta de forma diferente quando usado com o Windows 2000 e Windows 98 do que com o Windows NT 4.0 ou o Windows 95.

Se você compilar seu aplicativo com _WIN32_WINNT conjunto com um valor menor que 0 x 0500, Desenhar funcionará, mas não irá lidar com transparência automaticamente em sistemas que estejam executando o Windows 2000 e Windows 98 ou posterior.

Se você compilar seu aplicativo com _WIN32_WINNT definido como 0 x 0500 ou maior, Desenhar tratará transparência automaticamente em sistemas que executam o 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; entretanto, você deve usar /delayload para atrasar o carregamento de msimg32.LIB, conforme descrito acima de AlphaBlend e TransparentBlt.

Consulte também

Referência

Classe CImage