wince 加载PNG图片
2009-09-17 15:08
169 查看
void LoadImageFromRes(HDC hDC,DWORD ImgID,HINSTANCE inst,RECT&rec)
{
HINSTANCE OldHinstance = AfxGetResourceHandle();
AfxSetResourceHandle(inst);
CoInitializeEx(NULL, COINIT_MULTITHREADED);
IImagingFactory *g_pImgFactory;
//COM初始化省略
IImage *pImage;
SUCCEEDED(CoCreateInstance (CLSID_ImagingFactory, NULL,CLSCTX_INPROC_SERVER, IID_IImagingFactory, (void **)&g_pImgFactory));
//装载资源
HRSRC hr;//资源句柄
hr = FindResource(AfxGetResourceHandle(),MAKEINTRESOURCE(ImgID),_T("PNG"));
HGLOBAL hglobal= LoadResource(AfxGetResourceHandle(), hr );
LPVOID lpVoid = NULL;
lpVoid = LockResource(hglobal);
int nSize = 0;
nSize = (UINT)SizeofResource(AfxGetResourceHandle(), hr);
if(nSize <= 0){return ;}
HRESULT ret1 =g_pImgFactory-> CreateImageFromBuffer((BYTE*)hglobal, nSize, BufferDisposalFlagNone ,&pImage);
RECT rect;
rect.left=rec.left;
rect.top=rec.top;
rect.right=rec.right;
rect.bottom=rec.bottom;
//画picture到DC中
pImage->Draw(hDC, &rect, NULL);
UnlockResource(hglobal);
pImage->Release();
g_pImgFactory->Release();
AfxSetResourceHandle(OldHinstance);
}
{
HINSTANCE OldHinstance = AfxGetResourceHandle();
AfxSetResourceHandle(inst);
CoInitializeEx(NULL, COINIT_MULTITHREADED);
IImagingFactory *g_pImgFactory;
//COM初始化省略
IImage *pImage;
SUCCEEDED(CoCreateInstance (CLSID_ImagingFactory, NULL,CLSCTX_INPROC_SERVER, IID_IImagingFactory, (void **)&g_pImgFactory));
//装载资源
HRSRC hr;//资源句柄
hr = FindResource(AfxGetResourceHandle(),MAKEINTRESOURCE(ImgID),_T("PNG"));
HGLOBAL hglobal= LoadResource(AfxGetResourceHandle(), hr );
LPVOID lpVoid = NULL;
lpVoid = LockResource(hglobal);
int nSize = 0;
nSize = (UINT)SizeofResource(AfxGetResourceHandle(), hr);
if(nSize <= 0){return ;}
HRESULT ret1 =g_pImgFactory-> CreateImageFromBuffer((BYTE*)hglobal, nSize, BufferDisposalFlagNone ,&pImage);
RECT rect;
rect.left=rec.left;
rect.top=rec.top;
rect.right=rec.right;
rect.bottom=rec.bottom;
//画picture到DC中
pImage->Draw(hDC, &rect, NULL);
UnlockResource(hglobal);
pImage->Release();
g_pImgFactory->Release();
AfxSetResourceHandle(OldHinstance);
}
相关文章推荐
- WINCE实现图片加载绘制类,支持ALPHA运算绘制PNG透明图片
- WINCE 如何显示PNG和GIF图片
- 使用GDI+和CImage类加载png图片
- ImageView怎么从pist文件中加载png图片,并对ImageView进行监听
- MFC 的 Picture Control 加载 BMP/PNG 图片的方法
- 影响加载PNG图片效果的原因
- 使用CImage加载PNG或其他图片文件(…
- 加载多种图片格式(gif,jpg,png.bmp)
- WINCE 如何显示PNG和GIF图片
- 使用PngButton类实现按钮加载Png图片
- VC下加载JPG/GIF/PNG图片的两种方法(转)
- Android中加载PNG图片时出现错误----No resource found
- VC下加载JPG,JPEG,GIF,PNG图片最简单的方法
- VC 下加载 JPG / JPEG / GIF / PNG 图片最简单的方法
- 加载png图片的两种方法 - GDI+和CImage
- [WM C++]从资源文件中加载显示png/jpg图片
- VC下加载JPG/GIF/PNG图片的两种方法
- vc++加载透明png图片方法——GDI+和CImage两种
- opengl下png图片的加载与显示
- delphi 中 image 控件加载bmp、JPG、GIF、PNG等图片的办法