1
我使用以下代碼將PNG圖像加載到Picture Control中。MFC VC++:Picture Control無法加載PNG圖像
....
LPSTREAM pStrmDefImg = TurnStream(MAKEINTRESOURCE(resourceID),_T("PNG"));
if(pStrmDefImg != NULL) {
CImage img;
img.Load(pStrmDefImg); // Load from stream
pictureCtrl.SetBitmap(img);
pStrmDefImg->Release();
}
.....
LPSTREAM TurnStream(LPCTSTR Resource, LPCTSTR Type)
{
char* pData = 0;
DWORD dwSize = 0;
int nRes = GetResource(Resource,Type,&pData,&dwSize);
LPSTREAM pStream;
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwSize+1);
void *pImageData = GlobalLock(hGlobal);
memcpy(pImageData, pData, dwSize);
HRESULT hr = CreateStreamOnHGlobal(hGlobal, TRUE, &pStream);
return pStream;
}
您是否看到此代碼中的任何問題?沒有錯誤拋出,但圖片控件不顯示加載的圖像。
此代碼工作..我不得不改變圖片控制屬性中的'類型'。我將它設置爲「位圖」,並顯示png圖像。 – user2432627
嘿,你能告訴我關於'GetResource(Resource,Type,&pData,&dwSize);'函數嗎? – Himanshu