2014-06-11 6 views
0

이중 버퍼링을 사용하는 방식으로 PNG를 Picture Control에로드하는 데 사용할 수있는 것은 무엇입니까?PictureControl에 PNG를 어떻게로드 할 수 있습니까?

BMP의 이중 버퍼링을 처리하는 this code을 사용하여 계속되는 다시 그리기의 깜박임 현상을 방지했습니다. 이제 앱 크기를 줄이기 위해 PNG로 전환해야합니다.

찾았지만 전체 라이브러리가 너무 커서 PNG로 전환 할 목적이 없습니다.

의견이 있으십니까?

+2

그림을 이미 처리 했으므로 [''] (http://msdn.microsoft.com/en-us/library/ms533798%28v=vs.85%29.aspx)을 사용할 수 있습니다. PNG를로드하고 페인트하며 모든 Windows 버전에 포함되어 있습니다. JPEG도 있습니다. –

답변

2

BMP 코드 만 사용하십시오. 그것을 화면에 가져 오려면 비트 맵이 필요합니다 (또는 주석에 언급 된대로 GDI +를 사용하십시오).

CImage로 PNG 파일을로드하십시오. CIamge :: Detach를 사용하면 PNG가 비트 맵으로 사용됩니다. 현재 코드를 사용하십시오.

CImage에 PNG를로드하는 작업은 디스크 나 메모리 버퍼 (리소스)에서 스트림을 통해 수행 할 수 있습니다. 두 경우 모두 CImage :: Load를 사용하십시오.

Afaik 거기에 필요한 모든 기능을 제공하는 CBitmap에서 파생 된 MFC에서 간단한 CPngImage 클래스가 있습니다.

관련 문제