OnInitDialog()函数中对话框还没有创建出来,因此picture control无法显示图片。后来想到了一个笨办法,那就是在OnPaint()中对picture control空间加载图片,试验之后果然正常显示。并且可以加一个标记变量来控制只在OnPaint()中显示一次图片,之后就把该变量赋值为false,防止重复调用。额,古老而又麻烦的mfc啊。
使用openCV的 cv::Mat 读取图片之后,需要在picture control控件中将图片显示出来。其过程是这样的:1、将 cv::Mat 转换格式为 IplImage,2、然后将 IplImage 转换格式为 CvvImage,因为 CvvImage 类中有函数 DrawToHDC(),可以直接完成MFC空间中的绘图。
在MFC(Microsoft Foundation Class)中,你可以通过以下步骤在Picture Control控件中加载并显示图片。以下步骤详细说明了如何在MFC应用程序中实现这一目标: 1. 创建一个MFC应用程序,并在其中添加一个Picture Control控件 首先,使用Visual Studio创建一个MFC应用程序项目。然后,在资源编辑器中打开对应的对话框模板,从工具箱...
直接将OpenCV窗口嵌套到MFC的Pictrue Control控件中。此方法既能直接显示图片,也可直接使用OpenCV的鼠标按键事件,但对于鼠标滚轮事件只能使用MFC本地的滚轮函数。 2、转换。将OpenCV读取或处理的图片转换格式,使之成为MFC的Pictrue Control控件可显示的图片格式。此方法每刷新一次图片便需要转换格式一次,比较麻烦,且只能使用...
一.静态显示bmp图片 1. 创建MFC基于对话框程序,添加一个button1和picture控件,其中“资源视图”中编辑picture控件ID为:IDC_STATIC_PIC. 2.在"资源视图"(如果没有,视图中可调用出来)中右键鼠标Dialog处,选择"添加资源".在对话框中选择Bitmap,点击"导入",选择本地bmp图片(建议位图放置在res文件夹中).它会添加一...
1、 PictureBox 控件的主要作用是为用户显示图片。实际显示图片由 Picture 属性决定。Picture属性包括被显示的图片的文件名(及可选的路径名)。注意 窗体对象也具有 Picture 属性,通过设置该属性可直接在窗体背景上显示图片。要在运行时显示或替换图片,可利用函数 LoadPicture 来设置 Picture 属性。提供图片文件名和可选...
int rw=rect.right-rect.left; // 求出picture control的宽和高 int rh=rect.bottom-rect.top; int iw=img->width; // 读取图片的宽和高 int ih=img->height; int tx = (int)(rw - iw)/2; // 使图片的显示位置正好在控件的正中 int ty = (int)(rh - ih)/2; ...
//判断路径不为空if(strFilePath == _T("")) {return; } image.Load(strFilePath); //以下两个矩形主要作用是,获取对话框上面的Picture Control的width和height, //并设置到图片矩形rectPicture,根据图片矩形rectPicture对图片进行处理, //最后绘制图片到对话框上Picture Control上面CRect rectControl;//控件矩...
001:新建对话框工程,加入picture控件,关联变量为m_Bmp(类型为control),ID也要改一下,因为采用默认的,有重名,在关联变量的时候找不到picture项,再拖一个按钮上去,我们要实现的结果是,单击一下按钮,就会显示出位图 002:双击按钮,在消息处理函数中添加 HBITMAP hBitmap;hBitmap = ::LoadBitmap(AfxGetInstanceHand...