`
xblia
  • 浏览: 83129 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

MFC显示图片

    博客分类:
  • C++
 
阅读更多

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 图片显示_窗口 图片

    标题"testDlg.rar_MFC 图片_MFC 显示 图片_mfc 图片显示_窗口 图片"以及描述"mfc窗口下定时显示图片,图片已包含在内"暗示了我们正在讨论如何在MFC对话框或窗口中定时更新图片的显示。在这个场景中,`testDlg.cpp`...

    MFC显示图片的相关文件

    在这个“MFC显示图片的相关文件”中,我们关注的是如何在MFC应用程序中显示图片,特别是涉及到Cvvimage和dirth两个文件。 Cvvimage是一个图像处理库,它为开发者提供了在MFC项目中加载、显示和操作图像的功能。这个...

    mfc展示图片的例子

    在"ImgView"这个项目中,可能包含了一个使用MFC显示图片的应用实例。这个例子可能涉及到了自定义视图类来处理图像显示,以及如何在MFC框架中集成图像查看功能。你可以通过分析和学习这个示例代码来进一步理解和实践...

    MFC显示图片(C++)

    以上是使用MFC显示BMP和jpg等图片的基本步骤。实际应用中,你可能还需要处理其他细节,比如错误处理、图片缩放、动画效果等。MFC虽然相对老旧,但仍然是许多C++ Windows开发者的首选,因为它提供了丰富的控件和功能...

    C++MFC PictureCtrl显示本地图片

    在本教程中,我们将深入探讨如何在MFC应用中使用PictureCtrl来显示本地图片。 首先,我们需要包含必要的头文件,如`#include <afxwin.h>`,确保我们能够使用MFC的基本类,以及`#include <afxcmn.h>`,以包含...

    MFC 在对话框显示图片的多种方法

    在MFC应用中,对话框显示图片主要涉及两种方法:非动态显示和动态显示。这两种方法各有其适用场景,下面将详细介绍。 **非动态显示图片** 1. **使用Picture控件** 这是最简单的方法,适用于图片已经在资源中加载...

    Opencv 基于MFC 显示图片 更改图片分辨率 保存图片 入门操作实例exe

    也可以作为一个工具(至少我用来做头像了,将一个图片反复缩小就得到了合适大小的了) 此工程能够实现的功能有: ①利用Opencv在mfc控件上显示图片。 ②利用Opencv改变图片的分辨率(默认是缩小为原来一般的分辨率)...

    MFC,OpenCv2.4.4实现图片显示

    在本程序中,我们将探讨如何使用OpenCV 2.4.4版本与Visual Studio 2010(VS2010)的MFC框架来显示图片。 1. **集成OpenCV到VS2010 MFC项目** 首先,你需要下载并安装OpenCV 2.4.4库。接着,在VS2010中创建一个新的...

    mfc显示图片源码和DIB文件

    本篇文章将详细介绍如何在MFC中使用两种方法显示图片,并且会涉及DIB(Device Independent Bitmap,设备无关位图)文件的处理。 1. **MFC 文档类显示图片** 在MFC应用中,通常使用基于文档/视图架构。在这种架构中...

    MFC.rar_MFC_MFC 显示图片

    在Microsoft Foundation Classes (MFC)库中,显示图片是一项常见的任务,特别是在开发具有图形用户界面的应用程序时。MFC是Microsoft提供的一种C++类库,它封装了Windows API,使得开发者能够更容易地创建Windows...

    MFC.rar_MFC 显示 图片_mfc 图片处理

    在这个特定的压缩包"MFC.rar"中,重点是MFC如何用来处理和显示图片,特别是涉及到图像的基本处理,如将彩色图片转换为黑白图片。我们将深入探讨这个主题,以便理解MFC在图像处理中的应用。 首先,我们需要了解MFC中...

    MFC opencv 显示图片

    在本文中,我们将深入探讨如何在C++的MFC(Microsoft Foundation Classes)环境中利用OpenCV库来显示图像。OpenCV(开源计算机视觉库)是一个强大的工具,广泛用于图像处理和计算机视觉任务。而MFC是微软提供的一个...

    mfc-static控件显示图片-滚动条-放大缩小

    vs2010工程,含opencv1.0文件 这个控件是基于CStatic派生的一个类,可放大缩小,带滚动条,想做成功能强大的(想做成一个视觉图片软件中的)控件,结果发现很难。...mfc显示图片,实再太难了,希望对大家有用!

    MFC动态加载/清除显示JPG/BMP/ICO图片文件

    - 清除图片显示主要涉及到控件的重绘,如CStatic控件显示图片。可以调用控件的`SetBitmap(NULL)`来移除当前显示的位图,或者使用CDC类的`DeleteObject`函数删除CBitmap对象,同时更新控件以显示空白。 以下是一个...

    mfc 显示图片,鼠标截取一部分会显示在另一个控件上

    在MFC(Microsoft Foundation Class)库中,显示图片并实现鼠标截取功能是一项常见的任务,尤其是在开发图形用户界面(GUI)应用时。本教程将详细解释如何在MFC应用程序中实现这一功能,包括图片的加载、显示以及...

    利用OpenCV在MFC对话框显示图片的类

    "利用OpenCV在MFC对话框显示图片的类"这个项目主要解决了这个问题。通常,OpenCV处理的图像数据类型是IplImage或Mat,而MFC则习惯使用位图(CBitmap)对象来显示图像。因此,我们需要一个转换类,将OpenCV的数据结构...

    用VS2005在MFC中将图片显示在对话框中的工程及制作步骤说明

    为了显示图片,我们需要添加一个控件,通常是静态文本控件(afxres.h中的CStatic类)。在资源视图中,双击IDD_Dialog(或你的对话框ID)打开对话框编辑器,然后从工具箱中拖拽一个静态文本控件到对话框上。 接下来...

    Show_JPG.rar_MFC 显示JPG图片_MFC 显示图片_jpg_mfc jpg_show

    1. **MFC 图像控件**:在MFC中,通常使用`CStatic`控件来显示图片。通过重载`OnPaint`消息处理函数,我们可以将图像数据绘制到控件上。 2. **图像加载**:要加载JPG或BMP图片,我们可以使用GDI+库,它是Windows API...

    MFC 实现 图片的拖动 放大缩小和区域显示

    3、程序中SHOW按钮显示图片 BT1 BT2 没有很好的代码效果 测试使用 4、Imageshow.h和CPP 可以再其他工程中直接使用、前提引用CXimage的Lib库 5、使用了CXimage的Lib库 在项目属性中配置下 6、可直接使用

    MFC显示BMP格式图片

    该资源主要是通过VS2012 MFC显示BMP格式图片,其中工程中有详细的注释,是下面博客的工程文件.http://blog.csdn.net/eastmount/article/details/18238863它是图像处理的基础知识.通过StrechBlt显示图片.

Global site tag (gtag.js) - Google Analytics