MFC中如何载入bmp和jpeg格式的图片,并作为文件背景

MFC中如何载入bmp和jpeg格式的图片,并作为文件背景? 要求有具体操作过程,不能只是代码

通过资源加载BMP位图的方法: CDC m_MemDc;//定义一个DC CBitmap m_BkBmp;//定义个位图对象 BITMAP m_BmpInfo;//定义一个位图信息结构体 CDC *pDc = GetDC();//定义一个DC指针,并指向屏幕DC /*首先在资源里添加位图,此行函数用于将位图数据加载到类对象中*/ m_BkBmp.LoadBitmap(IDB_TEST1/*此处为刚刚添加进来的位图资源ID*/); m_BkBmp.GetBitmap(&m_BmpInfo);//获取位图高宽等信息,保存在位图结构体中 m_MemDc.CreateCompatibleDC(pDc);//创建一个兼容屏幕DC的内存DC:m_MemDc。 m_MemDc.SelectObject(&m_BkBmp);//将该位图选择到刚创建的内存DC中。 /*将内存DC里的东西贴到屏幕DC上去*/ pDc->BitBlt(0,0,m_BmpInfo.bmWidth,m_BmpInfo.bmHeight,&m_MemDc,0,0,SRCCOPY); //这个贴图只贴一次,当你最小化后再还原,刚才的贴图就没了。 以下是通过文件加载BMP位图的方法 CDC m_bgDC;//定义一个DC CBitmap m_bgBmp;//定义个位图对象 BITMAP m_bgBmpInfo;//定义一个位图信息结构体 CRect m_CliRect;//定义一个矩形对象,用来保存窗口客户区大小 CDC *pDc = GetDC();//定义一个DC指针,并指向屏幕DC GetClientRect(&m_CliRect);//获取客户去大小,并保存到m_CliRect对象中 /*下面这行为读取位图文件,可以是相对路径,也可以是绝对路径, 如果是相对路径,调试时指相对于工程所在目录,直接执行EXE时,该位图就是相对于该EXE所在目录 */ HBITMAP h_bgBmp = (HBITMAP)::LoadImage(NULL,"位图文件名.bmp",IMAGE_BITMAP,0,0,LR_DEFAULTSIZE|LR_LOADFROMFILE); if (h_bgBmp == NULL) { MessageBox("加载位图失败"); return; } m_bgBmp.Attach(h_bgBmp);//将读取到的位图数据保存到位图对象中 m_bgBmp.GetBitmap(&m_bgBmpInfo);//获取该位图的大小 m_bgDC.CreateCompatibleDC(pDc);//创建一个兼容于屏幕DC的内存DC m_bgDC.SelectObject(&m_bgBmp);//将该位图选入到刚刚创建的内存DC中。 /*下行函数为将内存DC中的内容贴到屏幕DC中,这里与上面不同的是,先择拉伸贴图,比如你的位图非常小, 而屏幕很大,用上面哪种bitblt函数只是将位图贴在屏幕的左上角,如果用以下函数,会将位图拉伸 铺满整个窗口*/ pDc->StretchBlt(0,0,m_CliRect.Width(),m_CliRect.Height(),&m_bgDC,0,0,m_bgBmpInfo.bmWidth,m_bgBmpInfo.bmHeight,SRCCOPY); //如果想把该位图作为背景一直显示, //针对MFC写的基于对话框的程序, //那么只要在对话框的OnPaint();这个函数中执行StretchBlt或者bitblt //在OnInitDialog();这个函数中做以上的那些初始化,将变量作为对话框类的成员变量; //如此这般就可以在窗口上一直显示你选择的图片了。 //如果是基于文档的程序,方法类似, 总之思路就是: //1 在窗口类中定义以上必须的变量(对象) //2 在窗口的初始化函数中 初始化以上这些变量(对象) //3 在窗口的刷新响应函数中将选择的位图贴图到窗口上 至于加载JPG的,貌似就需要专门的组建了,个人认为jpg那个可以理解为压缩了的位图。想要得到JPG图片中各个点的RGB信息比较麻烦点。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-05-27
PSP是一台索尼推出的掌机,它可以通过安装模拟器来运行以上游戏。

MFC中如何载入bmp和jpeg格式的图片,并作为文件背景
步骤一:导入bmp文件:第二步:设置为背景:① 添加OnCtlColor消息响应函数:② 添加响应代码:HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);\/\/ TODO: Change any attributes of the DC here static CBrush gBr;...

mfc导入不了bmp图片
1、建一个单文档的MFC程序。2、插入->资源->Bitmap->导入。3、插入->资源->对话框->新建。4、找到图片控件。5、在对话框的空白处画一个矩形。6、右键->属性。7、双击对话空,建立一个对话空的类,取名(比如:Tupian)->确定。8、在resources中点开menu。9、增加一个菜单项,右键属性。10、...

mfc 怎样给dialog 资源插入背景图片啊
OnPaint可以自己添加的。

mfc怎样读入BMP文件
切换到resource视图,右键点击工程名,点击import--选择所有文件---选中添加的图片---import。然后,选中picture控件,右键属性,在Type里面选Bitmap,在Image里面选择刚刚添加的图片id,就行了

怎么给MFC的对话框加背景图片
1、新建MFC应用程序。2、在应用程序中,选择基于对话框,其他保持默认即可。3、右击项目,选择添加-资源。4、在添加资源对话框中,点击导入,选择要作为背景的图片。5、在工具箱找到Picture控件,托到界面中。6、在界面上点击选中Picture控件,然后在属性的Type下拉框中,选择Bitmap。7、再在Picture控件的...

如何在MFC窗口显示BMP和JPG图片
对话框添加Pic控件 类型选择bitmap 关联Control类型变量m_pic 菜单消息处理函数内部

mfc中图片控件如何显示图片
在资源视图里面加载图片(只能是bmp格式的图片),然后在图片控件属性设置里面有设置图片资源id的下拉框里面选择要显示的图片id即可,如果要显示其他图片格式,需要自己编码实现,这样就没有必要使用图片控件。

MFC程序里如何插入图片
导入外部图片,就点项目菜单下的添加资源,然后点导入,右下角那里选择文件类型,找到你要导入的bmp图片,点确定.图片就导入了,然后在资源管理器下面的bitmap项目组里可以找到该图片.和对应的ID号.不过我还是帮你解释一下楼下的方法,省的你只知其然不知所以然.\/\/该函数用于在程序的背景须要擦除...

MFC怎么为不同的对话框设置不同的背景
MFC设置背景,采用添加Bitmap的方法,首先把你想要设置为背景的图片转换成bmp格式,然后再引入到工程里面,再在每个对话框中添加控件,再选择。具体见图:1、首先在工程添加bitmap,右击工程名,添加。2、右击bitmap,选择引入。3、在下面的弹出的窗口中,选择文件类型,再找到你的bmp文件 4、引入成功后...

mfc 加载图片资源怎么弄?给个程序最好附上说明。
如果想把外部图片导入MFC资源库,可以在资源视图点右键,添加资源,选择插入,找到你的bmp文件,点确定,这样图片就进到资源列表了.如果想给让一个图片显示出来,可以使用兼容DC.写个例子给你 为准备要显示图片的窗口添加一个WM_ERASEBKGND消息,然后mfc自动帮你加上如下函数,在里面写上内容就行了,给...

相似回答