대부분의 CImage 함수는 Windows 버전인 Windows 95/98, Windows NT 4.0 또는 Windows 2000에서만 작동합니다. 문서에서는 특정 메서드의 버전 제한을 설명합니다.

CImage::PlgBlt

CImage::MaskBlt

Windows NT 4.0 이상에서만 작동하고 Windows 95/98 이상에서 실행하는 응용 프로그램에서는 작동하지 않습니다.

CImage::AlphaBlend

CImage::TransparentBlt

사용하려면 msimg32.lib 링크해야 하므로 이러한 메서드는 Windows 2000 이상 Windows 98 이상에서만 작동합니다. ( 라이브러리는 Windows 2000 이상 Windows 98 이상에서 실행되는 응용 프로그램에만 사용할 있습니다.)

AlphaBlend TransparentBlt 이러한 메서드가 호출되지 않는 경우에만 Windows 95 또는 Windows NT 4.0에서 실행되는 응용 프로그램에 포함될 있습니다. 응용 프로그램에 이러한 메서드가 포함되어 있고 응용 프로그램을 이전 운영 체제에서 실행해야 하는 경우 링커의 /DELAYLOAD 사용하여 msimg32.lib 로드를 지연해야 합니다. Windows NT 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.

이러한 메서드를 호출하는 응용 프로그램을 컴파일하려면 #including 시스템 헤더 앞에 Windows 버전이 5.0보다 크거나 같음을 나타내는 #define _WIN32_WINNT 문을 삽입합니다.

복사

#define _WIN32_WINNT 0x0500

응용 프로그램을 Windows 2000 또는 Windows 98 이전의 운영 체제에서 실행할 필요가 없는 경우 /delayload 사용하지 않고 직접 msimg32.lib 링크할 있습니다.

CImage::Draw

Windows 2000 Windows 98에서 사용하는 경우와 Windows NT 4.0 또는 Windows 95에서 사용하는 경우에 서로 다르게 작동합니다.

0x0500 이하로 설정된 _WIN32_WINNT 사용하여 응용 프로그램을 컴파일하면 Draw 작동하지만 Windows 2000 Windows 98 이상에서 실행되는 시스템에서 투명도를 자동으로 처리하지 않습니다.

0x0500 이상으로 설정된 _WIN32_WINNT 사용하여 응용 프로그램을 컴파일하면 Windows 2000 Windows 98 이상에서 실행되는 시스템에서 Draw 투명도를 자동으로 처리합니다. Windows NT 4.0 Windows 95에서는 Draw 작동하지만 투명도는 지원하지 않습니다. 그러나 위에서 설명한 AlphaBlend TransparentBlt 경우처럼 /delayload 사용하여 msimg32.LIB 로드를 지연해야 합니다.

+ Recent posts