社区
界面
帖子详情
点击对话框的打开图片按钮后,用户可以选择输入bmp格式的图片,并在对话框中的picture显示出来
燕子lovinglife
2013-01-18 10:35:05
本人刚开始学vc,现在想实现一个显示图片功能:点击对话框的打开图片按钮后,用户可以选择输入bmp格式的图片,并在对话框中的picture显示出来!请各位高手能否指点指点啊!在此先谢谢啦!
...全文
361
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
1.
显示
一个
BMP
图片
到窗口上 开始你得有一个
BMP
图片
的资源,找到
图片
之后导入到项目资源
中
首先需要新建一个
图片
控件,直接拖拽到想放置的位置即可 然后在
Pic
tu
re控件的Type属性下拉框
中
选择
Bitmap; 在
Pic
tu
re控件的Image属性下拉框
中
选择
BMP
资源ID为IDC_BITMAP1即可。 Type属性下拉列表
中
有8种类型,下面分别介绍下: Frame:
显示
一个无填充的矩形框,边框颜色可以通过Color属性的下拉列表设定 Etched Hor...
MFC在
pic
tu
re control
中
JPG/
BMP
/ICO等
格式
图片
显示
,并支持清除
图片
显示
1、添加一个
pic
tu
re control工具,修改ID为ID_STATIC_
PIC
TU
RE 2、增加一个
按钮
,caption为查看
图片
,双击
按钮
生成
按钮
的
点击
事件,在事件
中
添加代码,其
中
_T("
Pic
tu
re Files (*.
bmp
*.ico *.jpg)|*
bmp
;*.ico;*jpg|All Files (*.*)|*.*||")为
显示
的类型,可以根据需要修改: void Ctest
MFC实现静态和动态
显示
bmp
图片
代码下载路径:http://download.csdn.net/detail/dafenqie/9690529 1、通过LoadImage函数静态
显示
一个
bmp
文件: 1)增加一个
pic
tu
reControl控件,修改ID为:IDC_STATIC_
PIC
TU
RE 2)增加一个
按钮
,caption改为“静态
显示
图片
” 3)双击
按钮
,生成
按钮
的
点击
响应函数,在函数
中
增加如下代码,其
【界面设计】MFC从系统加载
bmp
格式
图像并
显示
在
对话框
上的实现代码
1.在工具栏
中
找到两个工具 2.将组件添加到dialog面板上 注意: 我对
PIC
TU
RE1
按钮
命名的ID是: 对
图片
控件命名的ID是: 3.按键触发事件代码如下: 函数对应Name,获得句柄对应ID void CMFCopenDlg::OnBnClickedButton1() { //
打开
文件 定义四种
格式
的文件
bmp
gif jpg tiff ...
MFC插入
图片
(常用控件:
图片
控件
Pic
tu
re Control)
转载:http://www.jizhuomi.com/software/193.html 首先需要将用到的
图片
PNG
格式
改为
BMP
格式
,需要
图片
格式
转换器进行转换,转换器下载地址http://down.tech.sina.com.cn/content/39737.html
图片
控件简介
图片
控件和前面讲到的静态文本框都是静态文本控件,因此两者的使用方法有很多相同之处,所属类都...
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章