强大的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");

你可能感兴趣的:(image)