强大的CImage类

这下有了CImage类,处理其他类型的图片不再寻找第三方类库了。加载到对话框背景的代码如下: 

强大的CImage类 //从资源里载入背景JPEG图片
强大的CImage类
HRSRC hRsrc=::FindResource(AfxGetResourceHandle(),
强大的CImage类 MAKEINTRESOURCE(IDR_JPG1),
强大的CImage类 _T("JPG"));
强大的CImage类 if(hRsrc!=NULL)
强大的CImage类 {
强大的CImage类 HGLOBAL hImgData=::LoadResource(AfxGetResourceHandle(),hRsrc);
强大的CImage类 if(hImgData==NULL)
强大的CImage类 {
强大的CImage类 ::FreeResource(hImgData);
强大的CImage类 }
强大的CImage类 else
强大的CImage类 {
强大的CImage类 LPVOID lpVoid = ::LockResource(hImgData);
强大的CImage类 LPSTREAM pStream=NULL;
强大的CImage类 DWORD dwSize = ::SizeofResource(AfxGetResourceHandle(), hRsrc);
强大的CImage类 HGLOBAL hNew = ::GlobalAlloc(GHND, dwSize);
强大的CImage类 LPBYTE lpByte = (LPBYTE)::GlobalLock(hNew);
强大的CImage类 ::memcpy(lpByte, lpVoid, dwSize);
强大的CImage类 GlobalUnlock(hNew);
强大的CImage类 HRESULT ht = CreateStreamOnHGlobal(hNew, TRUE, &pStream);
强大的CImage类 if( ht != S_OK )
强大的CImage类 {
强大的CImage类 //ASSERT( FALSE );
强大的CImage类 GlobalFree(hNew);
强大的CImage类 }
强大的CImage类 else
强大的CImage类 {
强大的CImage类 m_imgBK.Load(pStream);
强大的CImage类 GlobalFree(hNew);
强大的CImage类 }
强大的CImage类 ::FreeResource(hImgData);
强大的CImage类 }
强大的CImage类 }
强大的CImage类
强大的CImage类 //m_imgBK.Load("hh.jpg"); //这个方法可以载入文件
处理消息OnEraseBkgnd,

BOOL CDlgCfg::OnEraseBkgnd(CDC* pDC)

{

 m_imgBK.Draw(pDC->GetSafeHdc(),0,0,500,500,0,900,500,500);
 return TRUE;

 //CDialog::OnEraseBkgnd(pDC);

}

还可以直接从文件加载: 
    CImage m_img; 
    HRESULT hr; 
    hr = m_img.Load(L"D:\\点歌\\歌星点歌.jpg");

上一篇:51nod-1605-博弈


下一篇:点的双联通+二分图的判定(poj2942)