社区
界面
帖子详情
点击对话框的打开图片按钮后,用户可以选择输入bmp格式的图片,并在对话框中的picture显示出来
燕子lovinglife
2013-01-18 10:35:05
本人刚开始学vc,现在想实现一个显示图片功能:点击对话框的打开图片按钮后,用户可以选择输入bmp格式的图片,并在对话框中的picture显示出来!请各位高手能否指点指点啊!在此先谢谢啦!
...全文
308
6
打赏
收藏
点击对话框的打开图片按钮后,用户可以选择输入bmp格式的图片,并在对话框中的picture显示出来
本人刚开始学vc,现在想实现一个显示图片功能:点击对话框的打开图片按钮后,用户可以选择输入bmp格式的图片,并在对话框中的picture显示出来!请各位高手能否指点指点啊!在此先谢谢啦!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
对话框
中
点击
按钮
打开
bmp
图片
并
显示
在
pic
tu
re
中
,同时可以另存
MFC
对话框
中
点击
按钮
打开
bmp
图片
并
显示
在
pic
tu
re
中
,同时可以另存
MFC 在
对话框
显示
图片
的多种方法
MFC 在
对话框
显示
图片
的多种方法(一) 非动态
显示
图片
(即
图片
先通过资源管理器载入,有一个固定ID) (二) 动态载入
图片
(即只需要在程序
中
指定
图片
的路径即可载入) 为方便说明,我们已经建好一个基于
对话框
的工程,名为Ttest.
对话框
类为CTestDlg
基于
对话框
打开
图像文件
本程序主要是用于
对话框
打开
图像文件,能在
pic
tu
re控件上面
显示
,能读取
图片
文件夹张数,能实现
图片
在文件夹的前后转换
VC++
对话框
(CDialog)添加背景
图片
资源
中
是一个在vs2008sp1 IDE
中
给VC++
对话框
(CDialog)添加背景
图片
的实例,可供参考。
带有放大镜窗口的MFC
对话框
图片
读取和浏览
VS2010环境下带局部放大小窗口的MFC
对话框
图片
读取和浏览程序,该程序
中
使用
pic
tu
re控件读取
bmp
格式
的
图片
,若
图片
尺寸较大可用滚动条进行浏览,同时利用滑块控件进行
图片
的放大和缩小。
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章