在不适用openCv的一种时候,使用CImage显示图片数据,并且直接嵌入DC框中。

使用CImage 在pic控件里显示图片

void CMyCalLawsDlg::MyShowImage( CImage Image, UINT ID )
{
CBitmap m_bmp;
BITMAP bm;
m_bmp.Attach(Image);
m_bmp.GetObject(sizeof(BITMAP),&bm);
//bm.bmWidth中保存图片的宽度
//bm.bmHeight中保存图片的高度
int ImageHeight =bm.bmHeight;
int ImageWidth =bm.bmWidth; CDC* pDC = GetDlgItem( ID ) ->GetDC(); // 获得显示控件的 DC wishchin
HDC hDC = pDC ->GetSafeHdc(); // 获取 HDC(设备句柄) 来进行绘图操作
Image.Draw(pDC->m_hDC,0,0,ImageWidth,ImageHeight);
m_bmp.Detach(); }

调用实例:

 string  FileName.Format("E:\\SignSample\\Sample (%d).bmp",i);

        image.Load(FileName);
int width =image.GetWidth();
int height=image.GetHeight();
 MyShowImage(image,IDC_SHOWPIC);
05-22 03:29
查看更多