MFC在Picture Control中显示图片(jpg)遇到的问题首先选择图片:
void Chbgk_picDlg::OnBnClickedButton1()
{
CFileDialog cfd(true,_T(".jpg"),NULL,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,_T("Executable Files (*.jpg)|*.jpg|All Files (*.*)|*.*||"),this); //选项图片的约定
if(cfd.DoModal()!=IDOK) //判断是否获得图片
{
return;
}
m_path = cfd.GetPathName(); //获得图片路径
UpdateData(false); //更新路径公共变量
Show_picture(); //调用显示图片函数
}
//显示图片函数
void Chbgk_picDlg::Show_picture()
{
if(m_path=="") //判断图片路径是否存在
{
return;
}
//AfxMessageBox(_T("读取到图片路径"));
CRect rect;
m_picture.GetClientRect(&rect); //m_picture为Picture Control控件变量,获得控件的区域对象
CImage image; //使用图片类
image.Load(m_path); //装载路径下图片信息到图片类
CDC* pDC = m_picture.GetWindowDC(); //获得显示控件的DC
image.Draw( pDC -> m_hDC,rect); //图片类的图片绘制Draw函数
ReleaseDC(pDC);
}
通过上面两步的实现可以显示出jpg图片信息在Picture Control控件中,但是当窗口被最小化或者被其他应用程序覆盖后,这个时候图片不能显示,那么就需要对Picture Control中图片进行重绘,通过获得WM_PAINT消息进行处理,对响应OnPaint()函数进行处理:
void Chbgk_picDlg::OnPaint()
{
if (IsIconic())
{
..............
}
else
{
CDialog::OnPaint(); //重绘对话框
CDialog::UpdateWindow(); //更新windows窗口,如果无这步调用,图片显示还会出现问题
Show_picture(); //重绘图片函数
}
}
需要注意的是首先绘制对话框,完成后更新窗口信息,然后进行绘制控件中图片区域。
到这里基本上一个图片选择显示的应用程序已经出来了,细节问题再细节处理
相关推荐
标题"testDlg.rar_MFC 图片_MFC 显示 图片_mfc 图片显示_窗口 图片"以及描述"mfc窗口下定时显示图片,图片已包含在内"暗示了我们正在讨论如何在MFC对话框或窗口中定时更新图片的显示。在这个场景中,`testDlg.cpp`...
在这个“MFC显示图片的相关文件”中,我们关注的是如何在MFC应用程序中显示图片,特别是涉及到Cvvimage和dirth两个文件。 Cvvimage是一个图像处理库,它为开发者提供了在MFC项目中加载、显示和操作图像的功能。这个...
在"ImgView"这个项目中,可能包含了一个使用MFC显示图片的应用实例。这个例子可能涉及到了自定义视图类来处理图像显示,以及如何在MFC框架中集成图像查看功能。你可以通过分析和学习这个示例代码来进一步理解和实践...
以上是使用MFC显示BMP和jpg等图片的基本步骤。实际应用中,你可能还需要处理其他细节,比如错误处理、图片缩放、动画效果等。MFC虽然相对老旧,但仍然是许多C++ Windows开发者的首选,因为它提供了丰富的控件和功能...
在本教程中,我们将深入探讨如何在MFC应用中使用PictureCtrl来显示本地图片。 首先,我们需要包含必要的头文件,如`#include <afxwin.h>`,确保我们能够使用MFC的基本类,以及`#include <afxcmn.h>`,以包含...
在MFC应用中,对话框显示图片主要涉及两种方法:非动态显示和动态显示。这两种方法各有其适用场景,下面将详细介绍。 **非动态显示图片** 1. **使用Picture控件** 这是最简单的方法,适用于图片已经在资源中加载...
也可以作为一个工具(至少我用来做头像了,将一个图片反复缩小就得到了合适大小的了) 此工程能够实现的功能有: ①利用Opencv在mfc控件上显示图片。 ②利用Opencv改变图片的分辨率(默认是缩小为原来一般的分辨率)...
在本程序中,我们将探讨如何使用OpenCV 2.4.4版本与Visual Studio 2010(VS2010)的MFC框架来显示图片。 1. **集成OpenCV到VS2010 MFC项目** 首先,你需要下载并安装OpenCV 2.4.4库。接着,在VS2010中创建一个新的...
本篇文章将详细介绍如何在MFC中使用两种方法显示图片,并且会涉及DIB(Device Independent Bitmap,设备无关位图)文件的处理。 1. **MFC 文档类显示图片** 在MFC应用中,通常使用基于文档/视图架构。在这种架构中...
在Microsoft Foundation Classes (MFC)库中,显示图片是一项常见的任务,特别是在开发具有图形用户界面的应用程序时。MFC是Microsoft提供的一种C++类库,它封装了Windows API,使得开发者能够更容易地创建Windows...
在这个特定的压缩包"MFC.rar"中,重点是MFC如何用来处理和显示图片,特别是涉及到图像的基本处理,如将彩色图片转换为黑白图片。我们将深入探讨这个主题,以便理解MFC在图像处理中的应用。 首先,我们需要了解MFC中...
在本文中,我们将深入探讨如何在C++的MFC(Microsoft Foundation Classes)环境中利用OpenCV库来显示图像。OpenCV(开源计算机视觉库)是一个强大的工具,广泛用于图像处理和计算机视觉任务。而MFC是微软提供的一个...
vs2010工程,含opencv1.0文件 这个控件是基于CStatic派生的一个类,可放大缩小,带滚动条,想做成功能强大的(想做成一个视觉图片软件中的)控件,结果发现很难。...mfc显示图片,实再太难了,希望对大家有用!
- 清除图片显示主要涉及到控件的重绘,如CStatic控件显示图片。可以调用控件的`SetBitmap(NULL)`来移除当前显示的位图,或者使用CDC类的`DeleteObject`函数删除CBitmap对象,同时更新控件以显示空白。 以下是一个...
在MFC(Microsoft Foundation Class)库中,显示图片并实现鼠标截取功能是一项常见的任务,尤其是在开发图形用户界面(GUI)应用时。本教程将详细解释如何在MFC应用程序中实现这一功能,包括图片的加载、显示以及...
"利用OpenCV在MFC对话框显示图片的类"这个项目主要解决了这个问题。通常,OpenCV处理的图像数据类型是IplImage或Mat,而MFC则习惯使用位图(CBitmap)对象来显示图像。因此,我们需要一个转换类,将OpenCV的数据结构...
为了显示图片,我们需要添加一个控件,通常是静态文本控件(afxres.h中的CStatic类)。在资源视图中,双击IDD_Dialog(或你的对话框ID)打开对话框编辑器,然后从工具箱中拖拽一个静态文本控件到对话框上。 接下来...
1. **MFC 图像控件**:在MFC中,通常使用`CStatic`控件来显示图片。通过重载`OnPaint`消息处理函数,我们可以将图像数据绘制到控件上。 2. **图像加载**:要加载JPG或BMP图片,我们可以使用GDI+库,它是Windows API...
3、程序中SHOW按钮显示图片 BT1 BT2 没有很好的代码效果 测试使用 4、Imageshow.h和CPP 可以再其他工程中直接使用、前提引用CXimage的Lib库 5、使用了CXimage的Lib库 在项目属性中配置下 6、可直接使用
该资源主要是通过VS2012 MFC显示BMP格式图片,其中工程中有详细的注释,是下面博客的工程文件.http://blog.csdn.net/eastmount/article/details/18238863它是图像处理的基础知识.通过StrechBlt显示图片.