现在的位置: 首页 > 综合 > 正文

加载资源PNG图片

2018年10月15日 ⁄ 综合 ⁄ 共 779字 ⁄ 字号 评论关闭

.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); 
} 

抱歉!评论已关闭.