加載資源PNG圖片

.rc文件下添加資源的相關信息如下

FINGER                PNG                       "Res\\Finger.png"

加載的時候採用如下方式:

    LoadResImage(_T("FINGER"), m_pImageFinger);
函數如下:



void CSpeedBar::LoadResImage(TCHAR *pszResID,Image * &lpImage) 
{ 
	HMODULE hModule=AfxGetInstanceHandle();
	HRSRC hRsrc = ::FindResource (hModule, pszResID,_T("PNG")); // type   
	if (!hRsrc)  
		return;  
	// load resource into memory   
	DWORD len = SizeofResource(hModule, hRsrc);  
	BYTE* lpRsrc = (BYTE*)LoadResource(hModule, hRsrc);  
	if (!lpRsrc)  
		return;  
	// Allocate global memory on which to create stream   
	HGLOBAL m_hMem = GlobalAlloc(GMEM_FIXED, len);  
	BYTE* pmem = (BYTE*)GlobalLock(m_hMem);  
	memcpy(pmem,lpRsrc,len);  
	IStream* pstm;  
	CreateStreamOnHGlobal(m_hMem,FALSE,&pstm);  
	// load from stream   
	lpImage=Gdiplus::Image::FromStream(pstm);  
	// free/release stuff   
	GlobalUnlock(m_hMem);  
	pstm->Release();  
	FreeResource(lpRsrc); 
} 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章