Ограничения CImage в ранних версиях операционных систем
Многие функции CImage работают только с более новыми версиями Windows: Windows 95/98 или NT Windows 4.0 или Windows 2000. В этом разделе описываются ограничения версии некоторых методов.
CImage::PlgBltCImage::MaskBlt и работать только с NT Windows 4.0 или более поздней версии. Они не могут использоваться в приложениях, в Windows 95/98 или более поздней версии.
CImage::AlphaBlendCImage::TransparentBlt и работать только с Windows 2000 или более поздней версии и Windows 98 или более поздней версии, поскольку необходимо связать с msimg32.lib для использования этих методов. (Эта библиотека доступна только приложениям, запущенным Windows 2000 или более поздней версии и Windows 98 или более поздней версии).
Можно включить AlphaBlend и TransparentBlt приложения, выполняющиеся в Windows 95 или Windows 4.0 NT только в том случае, если эти методы никогда не получают которые. Если приложение включает эти методы, и оно должно выполняться в предыдущих версиях операционных систем, необходимо использовать /delayload компоновщика для загрузки с задержкой. msimg32.lib. Если приложение не вызывает один из этих методов при выполнении NT в Windows 4.0 или Windows 95, он не пытается загрузить msimg32.lib. Можно проверить ли поддержка прозрачности доступна в метод CImage::IsTransparencySupported.
Пример
if (CImage::IsTransparencySupported())
{
// Safe to call CImage::AlphaBlend and CImage::TransparentBlt
}
else
{
// Transparency not supported. Fall back to something else.
}
Чтобы компилировать приложение, которое вызывает эти методы, вставьте оператора #define _WIN32_WINNT перед #including все заголовки системы, что версия Windows равна или превышает 5.0:
#define _WIN32_WINNT 0x0501
Если приложение не будет выполняться в операционной системе более ранней, чем Windows 2000 или Windows 98, можно связать непосредственно в msimg32.lib без использования /delayload.
CImage::Draw поведение по-разному при использовании с Windows 2000 и Windows 98, а не делает с NT Windows 4.0 или Windows 95.
Если компилировать приложение с _WIN32_WINNT значение меньше значения 0x0500, Рисование будет работать, но не обрабатывает прозрачность автоматически в системах, Windows 2000 и Windows 98 и более поздних версиях.
Если компилировать приложение с _WIN32_WINNT установленного на 0x0500 или больше, Рисование обрабатывает прозрачность автоматически в системах, Windows 2000 или Windows 98 и более поздних версиях. Она также будет работать, но без поддержки прозрачности, NT с Windows 4.0 и Windows 95; однако следует использовать /delayload для загрузки с задержкой. msimg32.LIB, как описано выше в AlphaBlend и TransparentBlt.