MFC 在Picture控件中显示图像(BMP

下面是关于怎样使用Picture Control显示BMP图片: 
查找了一下SetBitmap是这样定义的:

///////////////////////////////////////////////////////////////////////////////////
// uBmpResource:图片ID; uCtrlResource: Picture控件ID
void SetBitmap(UINT uBmpResource, UINT uCtrlResource)
{
HBITMAP hBitmap;
CStatic *pStatic = (CStatic *)GetDlgItem(uCtrlResource);
hBitmap = (HBITMAP)LoadImage(
AfxGetInstanceHandle(),
MAKEINTRESOURCE(uBmpResource),
IMAGE_BITMAP,
0,
0,
LR_LOADMAP3DCOLORS);
pStatic->ModifyStyle(0xF, SS_BITMAP);
pStatic->SetBitmap(hBitmap);
}
/////////////////////////////////////////////////////////////////////////////////// 

根据定义,在对话框初始的时候写入下面的代码(结果成功正常显示):

BOOL CLoginDog::OnInitDialog()
{
CDialog::OnInitDialog();
//添加登陆窗口中的图片
HBITMAP hBitmap;
//关联图片ID
hBitmap =(HBITMAP)LoadImage(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_BITMAP_LOGIN_PIC),
IMAGE_BITMAP,0,0,
LR_LOADMAP3DCOLORS);
//获得指向静态控件的指针
CStatic *pStatic=(CStatic *)GetDlgItem(IDC_STATIC_PIC);//控件ID
//设置静态控件的样式,使其可以使用位图,并试位标显示使居中
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
//设置静态控件显示位图
pStatic->SetBitmap(hBitmap);
return TRUE;
} 

转载自:http://hi.baidu.com/urzalknsyzchrur/item/bb64252591cb2e132a0f1c5b

时间: 2024-10-13 12:40:19

MFC 在Picture控件中显示图像(BMP的相关文章

MFC 在Picture控件中显示图像(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) //判断是否获得图片 {

VC/MFC 在ListCtl 控件中随鼠标移动提示单元格信息

[cpp] view plaincopy BEGIN_MESSAGE_MAP(CTipListCtrl, CListCtrl) //{{AFX_MSG_MAP(CTipListCtrl) ON_WM_MOUSEMOVE() ON_WM_DESTROY() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTipLis

OpenCV获取摄像头视频并在MFC的Picture控件上显示

分为两步:OpenCV获取摄像头数据+图像在Picture上显示 第一步:OpenCV获取摄像头数据 参考:http://www.cnblogs.com/epirus/archive/2012/06/04/2535190.html http://blog.sina.com.cn/s/blog_6dbe9bdb0100nii7.html http://blog.csdn.net/augusdi/article/details/8762961 #include "stdafx.h" #in

【MFC】picture控件 两种有细微差别的动态加载图片方法

摘自:http://www.jizhuomi.com/software/193.html VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control) 分类标签: 编程入门  VS2010  VC++  MFC 上一节中鸡啄米讲的是滚动条控件,本节主要讲一种简单实用的控件,图片控件Picture Control.我们可以在界面某个位置放入图片控件,显示图片以美化界面. 图片控件简介 图片控件和前面讲到的静态文本框都是静态文本控件,因此两者的使用方法有很多相同之处,所属

MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片

最近有同学问我如何实现MFC基于对话框在图片控件中加载图片?其实使用MFC显示图片的方法各种各样,但是还是有些同学不知道怎样显示.以前在<数字图像处理>课程中完成的软件都是基于单文档的程序,这里介绍两种在对话框picthre控件中显示BMP图片的最简单基础的方法. ~~方法可能并不完美,高手忽略,但是提供一种能运行的方法,希望对刚接触这方面知识的同学有所帮助.可能你觉得文章过于简单或者有些过于详细叙述(点到即可我并不反对),但也为哪些入门同学想想,当初自己也是一头雾水. 一.静态显示bmp图片

OpenCV 2.2版本号以上显示图片到 MFC 的 Picture Control 控件中

OpenCV 2.2 以及后面的版本号取消掉了 CvvImage.h 和CvvImage.cpp 两个文件,直接导致了苦逼的程序猿无法调用里面的显示函数来将图片显示到 MFC 的 Picture Control 控件中.为此,网上非常多人表示仅仅要将那两个文件人为的提取出来然后放到project里面就解决这个问题了,也提供了两个文件的下载,可是这麻烦不说.还会导致一些奇奇怪怪的报错(至少本人是这种,非常崩溃!).所以在了解了一些gdi画图之后结合网上的代码写了例如以下的函数,仅仅需调用就能够将O

OpenCV 2.2版本以上显示图片到 MFC 的 Picture Control 控件中

OpenCV 2.2 以及后面的版本取消掉了 CvvImage.h 和CvvImage.cpp 两个文件,直接导致了苦逼的程序员无法调用里面的显示函数来将图片显示到 MFC 的 Picture Control 控件中.为此,网上很多人表示只要将那两个文件人为的提取出来然后放到工程里面就解决问题了,也提供了两个文件的下载,但是这麻烦不说,还会导致一些奇奇怪怪的报错(至少本人是这样的,很崩溃!).所以在了解了一些gdi绘图之后结合网上的代码写了如下的函数,只需调用就可以将OpenCV的图片显示在上面

MFC中picture控件坐标转换

opencv在MFC框架下应用时,不可避免要用到picture控件显示图片,但picture控件显示图片的基本单位是屏幕坐标系,如果需要获取像素坐标系,只需要进行一步简单的转换即可.当然如果是opencv2.0及以上版本,则需要用到CvvImage这个类,网上可以下载到. 坐标转换的核心思想就是根据picture空间客户区域的大小以及需要显示的图片原来的实际大小之间的比例关系,做一步简单转换,具体代码如下: 1 /*获取客户区域坐标 2 */ 3 CRect rect_ctr; 4 (GetDl

MFC&amp;Opencv 在Picture控件里显示和处理图像

在VS2005和2008里,我们可以用一个 Solution 来组合几个 Project (每个 Project 基本上只包含一个 Program),当我们要构建一个多Program的应用时(例如一个客户端程序加一个服务器应用程序),利用 Solution 可以将这些 Projects 组合起来.并且共享文件和函数库.通常需要为Solution创建一个主路径,其中包含了有Projects的路径.不过在这篇文章里,我们只构建一个简单的Project,所以在创建MFC的New Project对话框里