社区
界面
帖子详情
点击对话框的打开图片按钮后,用户可以选择输入bmp格式的图片,并在对话框中的picture显示出来
燕子lovinglife
2013-01-18 10:35:05
本人刚开始学vc,现在想实现一个显示图片功能:点击对话框的打开图片按钮后,用户可以选择输入bmp格式的图片,并在对话框中的picture显示出来!请各位高手能否指点指点啊!在此先谢谢啦!
...全文
345
6
打赏
收藏
点击对话框的打开图片按钮后,用户可以选择输入bmp格式的图片,并在对话框中的picture显示出来
本人刚开始学vc,现在想实现一个显示图片功能:点击对话框的打开图片按钮后,用户可以选择输入bmp格式的图片,并在对话框中的picture显示出来!请各位高手能否指点指点啊!在此先谢谢啦!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
守化髅
2013-04-07
打赏
举报
回复
跪求楼上方法!我也需要做这个和你一模一样!
jimette
2013-01-18
打赏
举报
回复
可以使用picture control控件 方法1: 更改属性 1)Picture Control属性 直接关联上image 并更改type为Bitmap 方法2: 添加控件变量为PictureEx对象, 直接m_pic1.LoadBitmap(IDB_BITMAP1); PictureEx类网上搜 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); }
hellengoodd
2013-01-18
打赏
举报
回复
不难啊,书里都有源代码给你参考
燕子lovinglife
2013-01-18
打赏
举报
回复
图片显示的我做出来了,可否哪位大神指导一下怎么在对话框按下按钮保存bmp图片呢
hdg3707
2013-01-18
打赏
举报
回复
首先在CTestDlg类中声明一个变量: CBitmap m_bmp; 然后我们在对话框中加入一个picture 标签,名为IDC_STATIC1,然后: BOOL CDisplayPic::OnInitDialog() { CDialog::OnInitDialog(); if( m_bmp.m_hObject != NULL )//判断 m_bmp.DeleteObject(); //载入图片 HBITMAP hbmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), "c:\\aaa.bmp", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE); if( hbmp == NULL ) return FALSE; //该断程序用来取得加载的BMP的信息// m_bmp.Attach( hbmp ); DIBSECTION ds; BITMAPINFOHEADER &bminfo = ds.dsBmih; m_bmp.GetObject( sizeof(ds), &ds ); int cx=bminfo.biWidth; //得到图像宽度 int cy=bminfo.biHeight; //得到图像高度 /////////////////// //////////////////////////////// //得到了图像的宽度和高度后,我们就可以对图像大小进行适应, //即调整控件的大小,让它正好显示一张图片 //////////////////////////////////////////////////// CRect rect; GetDlgItem(IDC_STATIC1)->GetWindowRect(&rect); ScreenToClient(&rect); GetDlgItem(IDC_STATIC1)->MoveWindow(rect.left,rect.top,cx,cy,true);//调整大小 return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } 图片加载成功了,标签大小也适应了,下面就是绘制绘制图像了,打开类向导,重载WM_PAINT消息 void CDisplayPic::OnPaint() { //////////////以下三种情况任选一种会是不同效果(只能一种存在)/////////// //CPaintDC dc(this); //若用此句,得到的是对话框的DC,图片将被绘制在对话框上. CPaintDC dc(GetDlgItem(IDC_STATIC1)); //用此句,得到picture控件的DC,图像将被绘制在控件上 //CDC dc; //dc.m_hDC=::GetDC(NULL); //若用此两句,得到的是屏幕的DC,图片将被绘制在屏幕上 /////////////////////////////////////////////////////// CRect rcclient; GetDlgItem(IDC_STATIC1)->GetClientRect(&rcclient); CDC memdc; memdc.CreateCompatibleDC(&dc); CBitmap bitmap; bitmap.CreateCompatibleBitmap(&dc, rcclient.Width(), rcclient.Height()); memdc.SelectObject( &bitmap ); CWnd::DefWindowProc(WM_PAINT, (WPARAM)memdc.m_hDC , 0); CDC maskdc; maskdc.CreateCompatibleDC(&dc); CBitmap maskbitmap; maskbitmap.CreateBitmap(rcclient.Width(), rcclient.Height(), 1, 1, NULL); maskdc.SelectObject( &maskbitmap ); maskdc.BitBlt( 0, 0, rcclient.Width(), rcclient.Height(), &memdc, rcclient.left, rcclient.top, SRCCOPY); CBrush brush; brush.CreatePatternBrush(&m_bmp); dc.FillRect(rcclient, &brush); dc.BitBlt(rcclient.left, rcclient.top, rcclient.Width(), rcclient.Height(), &memdc, rcclient.left, rcclient.top,SRCPAINT); brush.DeleteObject(); // Do not call CDialog::OnPaint() for painting messages }
燕子lovinglife
2013-01-18
打赏
举报
回复
我现在是个很初级的学生,大神们给我的不是很懂,能不能给个详细的步骤啊?跪求了
【MFC开发(12)】
图片
框控件
Pic
tu
re Control
这篇博客介绍了在MFC应用程序
中
如何使用
Pic
tu
re控件
显示
BMP
图片
,包括静态加载和动态加载资源
中
的
BMP
图片
。同时,展示了如何借助CImage类加载并
显示
PNG、JPG等常见
格式
的图像。在处理过程
中
,还提到了解决
Pic
tu
re控件报错的解决方法。
MFC在
pic
tu
re control
中
JPG/
BMP
/ICO等
格式
图片
显示
,并支持清除
图片
显示
本文介绍如何在MFC应用程序
中
实现
图片
的加载与
显示
功能,并提供了清除已
显示
图片
的方法。通过CFileDialog
对话框
选择
图片
文件后,利用I
Pic
tu
re接口进行
图片
的加载,并通过CDC绘图设备上下文在静态控件上
显示
图片
。此外,还提供了一个清除
图片
的功能,通过填充静态控件背景来移除
显示
的
图片
。
MFC实现静态和动态
显示
bmp
图片
本文介绍了如何使用MFC在应用程序
中
静态和动态
显示
BMP
图片
。静态
显示
通过LoadImage函数实现,动态
显示
则通过CFileDialog
打开
用户
选择
的
BMP
文件,读取并
显示
图像数据。提供了详细的代码示例。
MFC插入
图片
(常用控件:
图片
控件
Pic
tu
re Control)
该博客介绍了将PNG
图片
转为
BMP
格式
的方法,还重点讲解MFC
图片
控件静态加载位图
图片
。包括创建基于
对话框
的MFC工程、准备Bitmap
图片
、导入位图资源、添加
Pic
tu
re Control控件并设置Type和Image属性,最后编译运行程序。
【界面设计】MFC从系统加载
bmp
格式
图像并
显示
在
对话框
上的实现代码
本文介绍了一个使用C++和MFC框架实现的简单示例,该示例通过
对话框
选择
BMP
图片
文件,并将其加载到应用程序界面
中
进行
显示
。具体步骤包括创建
对话框
、读取文件头信息、获取图像数据并利用设备上下文进行图像绘制。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章