精华内容
下载资源
问答
  • 我想在MFC修改图片大小。使用了StrecthBlit这个函数。但他那个参数是Cdc 代表什么我搞不懂。我的图片类型是cimage。对图像处理用了opencv,希望大神可以指示给我一种有效的处理方法。谢啦!
  • 各位神人们,为啥 将位图的名称改变了以后,程序就找不到位图了,why?纠结啊。。
  • MFC显示图片

    万次阅读 2017-01-12 11:20:12
    最近有同学问我如何实现MFC基于对话框在图片控件中加载图片?其实使用MFC显示图片的方法各种各样,但是还是有些同学不知道怎样显示.以前在《数字图像处理》课程中完成的软件都是基于单文档的程序,这里介绍两种在对话框...

    最近有同学问我如何实现MFC基于对话框在图片控件中加载图片?其实使用MFC显示图片的方法各种各样,但是还是有些同学不知道怎样显示.以前在《数字图像处理》课程中完成的软件都是基于单文档的程序,这里介绍两种在对话框picthre控件中显示BMP图片的最简单基础的方法. 
            ~~方法可能并不完美,高手忽略,但是提供一种能运行的方法,希望对刚接触这方面知识的同学有所帮助.可能你觉得文章过于简单或者有些过于详细叙述(点到即可我并不反对),但也为哪些入门同学想想,当初自己也是一头雾水. 
    一.静态显示bmp图片 
            
    1. 创建MFC基于对话框程序,添加一个button1和picture控件,其中“资源视图”中编辑picture控件ID为:IDC_STATIC_PIC. 
            2.在"资源视图"(如果没有,视图中可调用出来)中右键鼠标Dialog处,选择"添加资源".在对话框中选择Bitmap,点击"导入",选择本地bmp图片( 建议位图放置在res文件夹中) .它会添加一张IDB_BITMAP1图片 . 

            3.点击button1按钮,在生成的函数中添加如下代码:

    void CShowBmpDlg::OnBnClickedButton1()
    {
    	//从资源中加载图片
    	CBitmap bitmap;
    	//加载指定位图资源 Bmp图片ID
    	bitmap.LoadBitmap(IDB_BITMAP1);  
    	//获取对话框上的句柄 图片控件ID
     	CStatic *p=(CStatic *)GetDlgItem(IDC_STATIC_PIC);  
    	//设置静态控件窗口风格为位图居中显示
    	p->ModifyStyle(0xf,SS_BITMAP|SS_CENTERIMAGE); 
    	//将图片设置到Picture控件上
    	p->SetBitmap(bitmap); 
    }

            4.运行结果如下图所示: 
        
            5.总结 
            通过上面的截图我们可以发现:该方法是通过资源ID来获取BMP图片的,所以我称之为静态的方法.同时,可能你见到过在添加Picture控件时修改其Type为Bitmap在通过image选择ID的方法.但这里是通过代码来实现的,而且ModifyStyle函数的功能就相当于设置其属性. 
            ~~上图很明显的反应了它显示图片时,如果图片尺寸超过控件size只能显示部分图片.方法我只叙述到这,需要你自己去尝试.曾经在单文档中显示BMP图片时,是通过重载onpaint事件,GetClientRect获取尺寸调用StretchBlt(图像可拉伸压缩)实现(参照 前文 ). 
            其实LoadBitmap函数已被LoadImage替代,该函数用于装载图标\光标\位图.如下代码所示 可以实现同样的效果 ,其中Rockies.bmp为本地文件,与程序相同文件夹.

    void CShowBmpDlg::OnBnClickedButton1()
    {
    	//获取对话框上图片控件的句柄
    	CStatic* pWnd = (CStatic*)GetDlgItem(IDC_STATIC_PIC); 
    	//设置静态控件窗口风格为位图居中显示
    	pWnd->ModifyStyle(0xf,SS_BITMAP|SS_CENTERIMAGE);
    	//显示图片
    	pWnd->SetBitmap((HBITMAP)::LoadImage(NULL,
    		_T("Rockies.bmp"),  //资源号或本地文件名
    		IMAGE_BITMAP,       //装载位图 IMAGE_CURSOR光标 IMAGE_ICON图标
            0,                  //宽度 0为默认大小
            0,                  //高度 像素为单位
            LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE));
    }

    二.动态加载bmp图片 
            
    动态添加的方法一样,只是添加代码如下(这结合我以前的代码完成).主要的步骤是:
            1.先定义打开文件对话框,通过它获取bmp图片,其中dlg.DoMal()==IDOK表示按下确认按钮,实现后面操作.如果你学过C#就会发现它的OpenFileDialog控件与这个有些类似. 

            2.然后,获取读取文件的路径和后缀,确保其为bmp时执行读取图片信息,在" 2.MFC-bmp图片读取保存 "中,我曾详细讲述过如何读取bmp图片,这里也是二进制读取文件,读取其文件头(BITMAPFILEHEADER)、信息头(BITMAPINFOHEADER)、获取其位图数据. 
            3.最后显示图像到Picture控件中,并通过GetClientRect函数获取矩形区域,显示图像.

    void CShowBmpDlg::OnBnClickedButton1()
    {
    	//打开文件 定义四种格式的文件bmp gif jpg tiff
    	CString filter;
    	filter="所有文件(*.bmp,*.jpg,*.gif,*tiff)|*.bmp;*.jpg;*.gif;*.tiff| BMP(*.bmp)|*.bmp| JPG(*.jpg)|*.jpg| GIF(*.gif)|*.gif| TIFF(*.tiff)|*.tiff||";
    	CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter,NULL);          
    
    	//按下确定按钮 dlg.DoModal() 函数显示对话框
    	if( dlg.DoModal() == IDOK )
    	{
    		//打开对话框获取图像信息
    		CString BmpName = dlg.GetPathName();     //获取文件路径名   如D:\pic\abc.bmp
    		CString EntName = dlg.GetFileExt();      //获取文件扩展名
    		EntName.MakeLower();                     //将文件扩展名转换为一个小写字符
    
    		if(EntName.Compare(_T("bmp")) == 0)
    		{
    			//定义变量存储图片信息
    			BITMAPINFO *pBmpInfo;       //记录图像细节
    			BYTE *pBmpData;             //图像数据
    			BITMAPFILEHEADER bmpHeader; //文件头
    			BITMAPINFOHEADER bmpInfo;   //信息头
    			CFile bmpFile;              //记录打开文件
    
    			//以只读的方式打开文件 读取bmp图片各部分 bmp文件头 信息 数据
    			if(!bmpFile.Open(BmpName, CFile::modeRead|CFile::typeBinary)) 
    				return;
    			if (bmpFile.Read(&bmpHeader,sizeof(BITMAPFILEHEADER)) != sizeof(BITMAPFILEHEADER))
    				return;
    			if (bmpFile.Read(&bmpInfo,sizeof(BITMAPINFOHEADER)) != sizeof(BITMAPINFOHEADER))
    				return;
    			pBmpInfo = (BITMAPINFO *)new char[sizeof(BITMAPINFOHEADER)];
    			//为图像数据申请空间
    			memcpy(pBmpInfo,&bmpInfo,sizeof(BITMAPINFOHEADER));
    			DWORD dataBytes = bmpHeader.bfSize - bmpHeader.bfOffBits;
    			pBmpData = (BYTE*)new char[dataBytes];
    			bmpFile.Read(pBmpData,dataBytes);
    			bmpFile.Close();
    
    			//显示图像
    			CWnd *pWnd=GetDlgItem(IDC_STATIC_PIC); //获得pictrue控件窗口的句柄
    			CRect rect;
    			pWnd->GetClientRect(&rect); //获得pictrue控件所在的矩形区域
    			CDC *pDC=pWnd->GetDC(); //获得pictrue控件的DC
    			pDC->SetStretchBltMode(COLORONCOLOR);
    			StretchDIBits(pDC->GetSafeHdc(),0,0,rect.Width(),rect.Height(),0,0,
    				bmpInfo.biWidth,bmpInfo.biHeight,pBmpData,pBmpInfo,DIB_RGB_COLORS,SRCCOPY);
    		}
    	}
    }

            运行程序显示结果如下图所示,点击按钮打开图片,显示图片. 
     
            总结:通过这个程序你可以很明显的看到动态加载图片由于是通过获取picture控件矩形来显示图的,图像被拉伸了.而且代码很好的反应了如何获取bmp图像的方法.通过静态的和动态的两种方法讲述. 
            ~~最后希望该文章对大家有所帮助,如果文章中有错误或不足之处,还请海涵. 
            (By:Eastmount 2014-5-21 夜2点半 原创CSDN http://blog.csdn.net/eastmount/
            PS:《数字图像处理》课程希望大家也可以学习下,你可以自己完成一个软件,你将对图像有更深的认识.以前我们要求实现的功能就包括:图像载入保存、采样量化、直方图显示、线性和非线性变换(对比度拉伸、图像均衡化)、几何运算(最近邻差值和双线性差值)、几何变换(平移、反转、旋转)、图像增强(平滑、锐化Laplacian等各种算子)、边缘检测、图像编码压缩(Huffman编码和游程编码)、图像分割复原、二值图像细化等功能.记得最蛋疼的是DICOM医学图像在Android显示与处理花了很长时间才完成的.

    展开全文
  • MFC加载图片

    2017-04-18 22:34:23
    2.双击资源文件中的Sky.rc,在Dialog文件夹下,右键选择添加资源,资源类型为Bitmap,导入路径中的图片(如果找不到,选择所有类型的文件即可看到),导入完成后会在Bitmap文件夹中生成IDB_BITMAP1,如图所示: ...

    一:构建工程

    1.新建一个工程Sky,在Sky/res路径下放入需要加载的位图sky.bmp

    2.双击资源文件中的Sky.rc,在Dialog文件夹下,右键选择添加资源,资源类型为Bitmap,导入路径中的图片(如果找不到,选择所有类型的文件即可看到),导入完成后会在Bitmap文件夹中生成IDB_BITMAP1,如图所示:


    3.在SkyDlg.cpp中找到void CSkyDlg::OnPaint()函数,修改为如下代码:

    void CSkyDlg::OnPaint()
    {
    	if (IsIconic())
    	{
    		CPaintDC dc(this); // 用于绘制的设备上下文
    
    		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
    
    		// 使图标在工作区矩形中居中
    		int cxIcon = GetSystemMetrics(SM_CXICON);
    		int cyIcon = GetSystemMetrics(SM_CYICON);
    		CRect rect;
    		GetClientRect(&rect);
    		int x = (rect.Width() - cxIcon + 1) / 2;
    		int y = (rect.Height() - cyIcon + 1) / 2;
    
    		// 绘制图标
    		dc.DrawIcon(x, y, m_hIcon);
    	}
    	else {
    		//注释该语句:防止重复调用重画函数
    		//CDialog::OnPaint(); 
    		//添加代码对话框背景贴图
    		CPaintDC   dc(this);
    		CRect   rect;
    		GetClientRect(&rect);    //获取对话框长宽      
    		CDC   dcBmp;             //定义并创建一个内存设备环境
    		dcBmp.CreateCompatibleDC(&dc);             //创建兼容性DC
    		CBitmap   bmpBackground;
    		bmpBackground.LoadBitmap(IDB_BITMAP1);    //载入资源中图片
    		BITMAP   m_bitmap;                         //图片变量               
    		bmpBackground.GetBitmap(&m_bitmap);       //将图片载入位图中
    		//将位图选入临时内存设备环境
    		CBitmap  *pbmpOld = dcBmp.SelectObject(&bmpBackground);
    		//调用函数显示图片StretchBlt显示形状可变
    		dc.StretchBlt(0, 0, rect.Width(), rect.Height(), &dcBmp, 0, 0, m_bitmap.bmWidth, m_bitmap.bmHeight, SRCCOPY);
    	}
    }
    4.运行效果:


    二、思考

    1.除了代码的方式,还可以用Picture控件的方式,具体为:

    在对话框中拖入的控件,Type为Bitmap,Image选择为IDB_BITMAP2,点击确定就可以将bmp图片自动填充到对话框中。

    2.两个rc 文件有什么区别?

    答:rc和rc2都是资源文件,包含了应用程序中用到的所有的资源。

    两者不同在于:rc文件中的资源可以直接在VC集成环境中以可视化的方法进行编辑和修改;

    而rc2中的资源不能在VC的集成环境下直接进行编辑和修改, 而是由根据需要手工地进行编辑。

    3.如何简单的添加一张图片在界面上?

    答:为了方便起见,直接在BOOL CSkyDlg::OnInitDialog()初始化时加入如下代码:

    //在屏幕上加载红灯信号
    	CStatic *pWnd1 = (CStatic*)GetDlgItem(IDC_BLUE);
    	//CStatic *pWnd1 = pInfo->signallight;
    	CImage image1;
    	image1.Load(_T("D:\\caffe-master170309\\tubiao\\button_green_32px_543531_easyicon.net.png"));
    	HBITMAP hBmp1 = image1.Detach();
    	pWnd1->SetBitmap(hBmp1);
    	pWnd1->SetWindowPos(NULL, 50, 50, 32, 32, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER);

    效果如图:


    本文主要参考博客:http://blog.csdn.net/eastmount/article/details/9003076

    展开全文
  • MFC设置图片半透明

    2019-04-23 14:58:12
    位图背景色设置为透明色,主界面加载一张图片之后,再次加载的图片在其上有底色,需要改变底色为透明的,可以看到背景色。
  • ②利用Opencv改变图片的分辨率(默认是缩小为原来一般的分辨率)并显示在mfc对话框一个图片控件中。 ③保存。对话框有一个保存按钮。用于保存更改了分辨率之后的图片。(对于更改了之后的图片。又可以再次执行相同...
  • MFC对话框背景图片改变代码

    热门讨论 2012-07-24 09:53:26
    主要把自己添加资源设置为MFC对话框显示背景
  • Opencv 基于MFC 显示图片 更改图片分辨率 保存图片本片文章将简单介绍,利用Opencv在MFC框架下,实现①显示图片图像 ,②更改图片图像分辨率,③保存图片的入门操作实例本文章功能实现依托于MFC的控件进行显示,所以...

    Opencv 基于MFC 显示图片 更改图片分辨率 保存图片

    本片文章将简单介绍,利用Opencv在MFC框架下,实现①显示图片图像 ,②更改图片图像分辨率,③保存图片的入门操作实例

    本文章功能实现依托于MFC的控件进行显示,所以有些变量名是控件的变量名,特此申明以免新手误解。(PS:如果是老手,就直接观看。如果是编程入门级新手,就下载下面那个工程。)

    代码实例工程下载(下载之后,需要配置opencv才能生成可执行文件):http://download.csdn.net/detail/i_likechard/9538367

    代码exe可执行文件下载(可直接运行,不需安装其它东西):http://download.csdn.net/download/i_likechard/9934294

    直接上代码步骤  

    1、首先配置Opencv版本环境。我的版本是Opencv2.4.7 好像是这个。如果还没有下载Opencv、配置Opencv。那就先去弄了再来。对于不同版本的Opencv配置方法基本相同。但是难免遇到一些函数参数可能会有不同。

    这是我之前配置Opencv后改写的一篇文章,百度链接:http://wenku.baidu.com/view/01c7a2ec580216fc710afd18

    2、在 . h 文件中加入

    #include "highgui.h"
    #include "CvvImage.h"
    
    using namespace cv;
    Public:
    IplImage *image; //表示原始图片
    IplImage *dest;<span style="white-space:pre">	</span>//表示目标图片
    CString m_PathName;//用于保存图片路径。
    

    表示调用Opencv中三个类来实现上面的三个功能。并且使用cv的命名空间。3、在 . cpp实现文件中
    

    (1)第一个函数:将pic画在某个控件上。传入img,id。将它单独做成了一个函数用于后面使用

    void CopencvcatDlg::DrawPicToHDC( IplImage *img, UINT ID )
    {
    		
    	//HWND h = ::FindWindow(CopencvcatDlg,NULL);
    	CDC *pDC = GetDlgItem(ID)->GetDC();
    	HDC hdc=pDC->GetSafeHdc();
    	/*********************************************************/
    	CRect rect;
    	GetDlgItem(ID)->GetClientRect(&rect);
    	CvvImage cimg;<span style="white-space:pre">	</span>//实例一个cimg对象
    	cimg.CopyOf(img,img->nChannels); //Copyof实现把所有通道拷贝(当然也可以选择单通道,这样出来的图片就是黑白了。)
    	cimg.DrawToHDC(hdc,&rect);
    	ReleaseDC(pDC);
    }
    (2)第二个函数用于实现更改图片分辨率(大小)。函数中设置为缩小为原始图像的一半(可更改)

    void CopencvcatDlg::OnChangeSizeAndPixel()
    {
    	// TODO: 在此添加控件通知处理程序代码
    	CvSize size;
    	double scale = 0.5;
    	if(image)
    	{
    		size.height = image->height*scale;
    		size.width = image->width*scale;
    	}
    	dest=cvCreateImage(size,image->depth,image->nChannels);
    	cvResize(image,dest,1);
    	DrawPicToHDC(dest,IDC_STATIC13);//调用第一个函数将缩小分辨率和大小的图像进行控件显示图片
    }
    
    (3)第三个函数用于打开文件选择需要显示的图片并进行显示。
    void CopencvcatDlg::OnOpenFileAndShowImage()
    {
    	// TODO: 在此添加控件通知处理程序代码
    	CFileDialog picfiledlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,
    		"JPG(*.jpg)|*.jpg|位图文件(*.bmp)|*.bmp|", NULL/*AfxGetMainWnd()*/);
    	if(picfiledlg.DoModal()==IDOK)
    	{
    		m_PathName=picfiledlg.GetPathName();.//获取打开文件路径,用于原始图片copy
    		m_FileName=picfiledlg.GetFileName(); //用于保存更改后的照片
    
    		image=cvLoadImage(m_PathName,1); //使用cvLoadImage(),按照路径加载出图片。第二个参数为指定读入图片的深度和颜色
    		DrawPicToHDC(image,IDC_STATIC12); //调用第一个函数吧原始图像进行选择控件显示
    <span style="white-space:pre">		</span>//m_static10.SetWindowTextA(_T("打开文件正常"));
    		//GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);	
    		//GetDlgItem(IDC_BUTTON3)->EnableWindow(FALSE);	
    		//GetDlgItem(IDC_BUTTON4)->EnableWindow(FALSE);
    		//GetDlgItem(IDC_BUTTON3)->EnableWindow(TRUE);
    		return;
    	}
    	else
    	{
    		//m_static10.SetWindowTextA(_T("打开文件失败"));
    		return;
    	}
    	
    }
    (4)第四个函数用于保存更改了大小和分辨率的图像

    void CopencvcatDlg::OnSaveTheNewImage()
    {
    	// TODO: 在此添加控件通知处理程序代码
    	CFileDialog picfiledlg(FALSE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
    		"JPG(*.jpg)|*.jpg", NULL);
    	CString str=".jpg";
    	m_PathName="";
    	m_FileName="";
    	if(picfiledlg.DoModal()==IDOK)
    	{
    		m_PathName=picfiledlg.GetPathName();
    		m_PathName+=str;
    		int x=cvSaveImage(m_PathName,dest,0);
    		//GetDlgItem(IDC_BUTTON3)->EnableWindow(TRUE);
    		if (x!=0)
    		{
    			//GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);	
    			//GetDlgItem(IDC_BUTTON3)->EnableWindow(TRUE);	
    			//GetDlgItem(IDC_BUTTON4)->EnableWindow(TRUE);
    			//m_static10.SetWindowTextA(_T("保存正常"));
    			return;
    		}
    		else
    		{
    			//m_static10.SetWindowTextA(_T("保存异常了,查一下代码"));
    		}
    
    	}
    
    	return;
    }
    

    完结撒花。最近居然半夜开始写这种文档了。真是有点疯狂了。哈哈

    展开全文
  • MFC中操作文件类,选择图片并保存到数据库中,编译环境VS2008,适合新手下载学习
  • 修改备注:我的是vs2010+opencv2.4.3,在MFC中对话框图片控件中显示 1.在CvvImage.h头文件中增加了#include "opencv2/imgproc/imgproc.hpp" 因为我用到这个文件中缩放的函数cvResize()。 2.在CvvImage.h头文件中...
  • MFC相册图片存取展示

    2010-05-11 11:12:36
    MFC下ADO只能指针操作数据库,取得照片信息并在对话框进行展示、修改
  • 【c++】MFC显示图片

    千次阅读 2014-12-01 17:02:38
    MFC显示图片,动态链接了Opencv库,显示用了drawImage   环境VS2010.新建MFC工程配置好opencv动态链接库,拖入Edit control 控件,进行图片显示。 注意修改Edit control 控件的两个属性:Read Only:设为True;...

    MFC显示图片,动态链接了Opencv库,显示用了drawImage

     

    环境VS2010.新建MFC工程配置好opencv动态链接库,拖入Edit control 控件,进行图片显示。

    注意修改Edit control 控件的两个属性:Read Only:设为True;Visible:设为False,否则,鼠标移动到图片上时,图片不能显示。

    资源链接:http://download.csdn.net/detail/u010141025/8213197

    展开全文
  •  //加载bmp文件 xxx.bmp 就是要加载的图片名字    //bmpBackground.Attach(hBitmap); //关联位图对象  bmpBackground.LoadBitmap(IDB_BITMAP3); //载入资源中图片  BITMAP m_bitmap; //图片变量  ...
  • [MFC] 图片显示

    2019-03-23 20:05:02
    //以下代码是将显示的图片窗口嵌入到MFC界面当中 //创建cv窗口 namedWindow("view",WINDOW_AUTOSIZE); // 设置依附关系, 将cv窗口嵌入MFC主要是下述代码起作用了. HWND hWnd = (HWND)cvGetWindowHandle("view...
  • ![图片说明](https://img-ask.csdn.net/upload/201605/17/1463471793_361748.png) 如图,我想改变图片控件大小到方框那么大,好让图片适应控件显示,不知道怎么样才能做到?谢谢(很奇怪为什么不能拖动改变大小)
  • MFC添加背景图片

    千次阅读 2019-06-19 09:22:13
    很长时间没有接触MFC相关的知识了,我大概是在大二时候...这篇文章主要是回顾以前的MFC基础知识,给对话框添加背景图片和给按钮button添加背景图片;希望此篇基础性文章对大家有所帮助!同时为下次做MFC相关知识提供...
  • mfc图片显示机制

    千次阅读 2010-11-13 15:38:00
    mfc 图片显示机制
  • MFC显示Mat图片

    万次阅读 多人点赞 2016-07-14 21:40:56
    Opencv在1.0的时代,在MFC框架上显示图片可以通过Cvvimage类里的DrawPicToHDC( IplImage *img, UINT ID)方法方便的显示出来,当然这里使用的是IpIImage图片格式,到了Opencv2.0,不知道什么原因,Cvvimage类被舍弃...
  • MFC读取图片方式

    千次阅读 2016-11-17 14:57:48
    1.类型:HBITMAP、CBitmap、CImage、Mat(Open cv)、HObject(Halcon) ...3.实现类// Bmp.h : 获取bmp图片头文件 //#pragma once#include #include"highgui.h" #include "HalconCpp.h"using namespace std; usin
  • MFC图片按钮

    千次阅读 2013-10-16 19:31:28
    其次,添加两个位图资源,并修改其ID分别为:"myBitmapButtonU"和"myBitmapButtonD",这里只添加两个位图 然后在对话框类中加入: CBitmapButton m_btnX1;//必须放在函数外面才能正常实现 BOOL CXXXXXXX::...
  • MFC:点击按钮改变MFC背景图片,不是改变button的背景图片,是MFC主窗口的背景图片。只有25分大神见谅
  • 修改MFC中Button控件控件字体、字体大小、背景色、背景图片,主要方法采用需要通过button类派生Mybutton类,然后重载其中DrawItem函数
  • MFC 图片按钮的实现

    2020-09-03 10:11:46
    MFC工具栏,添加按钮到界面,然后会修改按钮的属性,设置Owner draw为true; CBitmapButton只用于添加bmp位图,其他图片会有一些兼容性问题,不会显示出来。具体原因没有深究,有空可自行深入学习。 LoadBitmaps...
  • MFC 如何修改BMP图片的大小

    千次阅读 2014-02-27 21:42:10
    MFC可以在加载图片的时候修改图片大小,我用的一个函数是: HANDLE LoadImage( HINSTANCE hinst, // handle to instance LPCTSTR lpszName, // name or identifier of the image UINT uType, // image type int ...
  • MFC绘制图片闪烁详解

    千次阅读 2012-11-15 14:25:59
    MFC如何高效地绘图  显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。  而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。  MFC的绘图效率的确不高但也不差,而且它的绘图...
  • 根据细胞的存活状态对图片的每一像素赋值是一个相当耗时的行为,本文将介绍MFC下的,基于openmp和CImage的解决思路。 openmp vs2010中使用openmp的例子见Openmp。这篇博文中介绍了openmp的良好性能。
  • MFC 滚动显示图片

    千次阅读 2017-03-25 16:12:06
    这里使用的图片是加载到资源中的,有需要从文件夹中加载的,可以稍微修改以下即可使用。 在这里我是把图片画在一个对话框上面,这是我创建对话框的IDD_DIALOG_PICTURE #pragma once // CPicturePage dialogclass ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,260
精华内容 5,704
关键字:

mfc修改图片