Compartir a través de


Limitaciones de CImage con sistemas operativos anteriores

Muchas funciones de CImage solo funcionan con versiones más recientes de Windows: Windows 95/98 ni Windows NT 4.0, o Windows 2000. En este artículo se describe las limitaciones de la versión de determinados métodos.

CImage::PlgBlt y CImage::MaskBlt solo funcionan con Windows NT 4.0 o posterior. No funcionará en aplicaciones que se ejecutan en Windows 95/98 o posterior.

CImage::AlphaBlend y CImage::TransparentBlt solo funcionan con Windows 2000 o posterior y Windows 98 o posterior porque debe vincular con msimg32.lib para utilizar estos métodos. (Esta biblioteca solo está disponible para las aplicaciones que ejecutan Windows 2000 o posterior y Windows 98 o posterior.)

Puede incluir AlphaBlend y TransparentBlt en una aplicación que se ejecuta en Windows 95 o Windows NT 4.0 únicamente si estos métodos nunca obtienen denominado. Si la aplicación incluye estos métodos, y debe ejecutarse en sistemas operativos anteriores, debe utilizar /delayload del vinculador para retrasar la carga de msimg32.lib. Mientras la aplicación no llame a uno de estos métodos mientras se ejecuta en Windows NT 4.0 o Windows 95, no intentará cargar msimg32.lib. Puede comprobar si la compatibilidad de transparencia esté disponible mediante el método de CImage::IsTransparencySupported .

Ejemplo

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

Para compilar una aplicación que llama a estos métodos, inserte una instrucción #define _WIN32_WINNT antes de #including los encabezados de sistema, que indica que la versión de Windows es igual o mayor que 5,0:

#define _WIN32_WINNT 0x0501

Si la aplicación no necesita ejecutarse en un sistema operativo anterior a Windows 2000 o Windows 98, puede vincular directamente a msimg32.lib sin utilizar /delayload.

CImage::Draw se comporta de manera diferente cuando se utiliza con Windows 2000 y Windows 98 que hace con Windows NT 4.0 o Windows 95.

Si compila la aplicación con _WIN32_WINNT establecido en un valor menor que 0x0500, Dibujar funcionará, pero no controlará la transparencia automáticamente en sistemas que ejecutan Windows 2000 y Windows 98 y posterior.

Si compila la aplicación con _WIN32_WINNT establecido en 0x0500 o superior, Dibujar controlará la transparencia automáticamente en sistemas que ejecutan Windows 2000 o Windows 98 y posterior. También funcionará, pero sin compatibilidad de transparencia, con Windows NT 4.0 y Windows 95; sin embargo, debe utilizar /delayload para retrasar la carga de msimg32.LIB, como se describe más arriba para AlphaBlend y TransparentBlt.

Vea también

Referencia

CImage (Clase)