Image* LoadPNGFromStaticRes(HMODULE hModule, UINT nResId)
{
HRSRC hRes = FindResource(hModule, MAKEINTRESOURCE(nResId), TEXT("PNG"));
DWORD dwResSize = SizeofResource(hModule, hRes);
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwResSize);
CopyMemory(GlobalLock(hGlobal), LockResource(LoadResource(hModule, hRes)), dwResSize);
IStream* pIStream;
CreateStreamOnHGlobal(hGlobal, FALSE, &pIStream);
Image* pImg = Image::FromStream(pIStream);
pIStream->Release();
GlobalUnlock(hGlobal);
GlobalFree(hGlobal);
return pImg;
}
返回的Image指针最后需要delete掉!