3. 将图片显示在窗口DC
1 Mat & image = pDoc->src_image;
2 if (image.empty())
3 {
4 return;
5 }
6 CImage cimage;
7 ImageUtility::MatToCImage(image,cimage);
8 cimage.Draw(pDC->GetSafeHdc(), 0, 0,cimage.GetWidth(),cimage.GetHeight(),
9 0, 0,cimage.GetWidth(),cimage.GetHeight());
2 if (image.empty())
3 {
4 return;
5 }
6 CImage cimage;
7 ImageUtility::MatToCImage(image,cimage);
8 cimage.Draw(pDC->GetSafeHdc(), 0, 0,cimage.GetWidth(),cimage.GetHeight(),
9 0, 0,cimage.GetWidth(),cimage.GetHeight());
终于图片可以显示出来了,如下图:
【fit图片到窗口大小】
从上面的结果来看,显示是显示出来了,但是效果不好,因为图片比较大,超过了窗口大小,所以在绘制时,需要做一个缩放,缩放到适合窗口显示的大小,缩放之前,需要先得到窗口大小。
1. override CImageProcessView的OnSize
1
void CImageProcessView::OnSize(UINT nType,
int cx,
int cy)
2 {
3 nWidth = cx;
4 nHeight = cy;
5 CView::OnSize(nType, cx, cy);
6 // TODO: Add your message handler code here
7 }
2 {
3 nWidth = cx;
4 nHeight = cy;
5 CView::OnSize(nType, cx, cy);
6 // TODO: Add your message handler code here
7 }