如何显示在其他Picture控件中
1个回答
2017-05-16
展开全部
我们在MFC中经常要把一张图像显示到picture控件中,在程序中我们可以把显示写成一个函数来调用:
void CControlDlg::ShowPicture(int nID, IplImage *Image)
{
CDC *pDC = GetDlgItem(nID)->GetDC();//根据ID获得窗口指针再获取与该窗口关联的上下文指针
HDC hdc= pDC->GetSafeHdc(); // 获取设备上下文句柄
CRect rect;
// 矩形类
GetDlgItem(nID)->GetClientRect(&rect); //
获取box1客户区
CvvImage cimg;
//
cimg.CopyOf(Image,Image->nChannels);
cimg.DrawToHDC(hdc,&rect);
//输出图像
ReleaseDC( pDC );
cimg.Destroy();
//销毁
}
实际使用中我们可以在我们的类中添加一个ShowPicture(int nID, IplImage *Image)函数,类型为void,也可以有是否显示成功的返回值。nID是picture控件的ID号,Image是图像指针。使用中可以直接复制以上代码。以上函数即可显示任意通道的图像
void CControlDlg::ShowPicture(int nID, IplImage *Image)
{
CDC *pDC = GetDlgItem(nID)->GetDC();//根据ID获得窗口指针再获取与该窗口关联的上下文指针
HDC hdc= pDC->GetSafeHdc(); // 获取设备上下文句柄
CRect rect;
// 矩形类
GetDlgItem(nID)->GetClientRect(&rect); //
获取box1客户区
CvvImage cimg;
//
cimg.CopyOf(Image,Image->nChannels);
cimg.DrawToHDC(hdc,&rect);
//输出图像
ReleaseDC( pDC );
cimg.Destroy();
//销毁
}
实际使用中我们可以在我们的类中添加一个ShowPicture(int nID, IplImage *Image)函数,类型为void,也可以有是否显示成功的返回值。nID是picture控件的ID号,Image是图像指针。使用中可以直接复制以上代码。以上函数即可显示任意通道的图像
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询