- 5
- 0
- 约4.29千字
- 约 5页
- 2017-05-13 发布于贵州
- 举报
VC实现打开BMPJPG或GIF图片VCMFC打开图片
1、新建一个单文档的应用程序,项目名称为ShowBitmap
2、为CShowBitmapView类添加下述成员变量和成员函数:
//参数定义public:????int?state;????//位图显示状态???? CString BmpName;???//保存图像文件文件名???? CString extname;????//保存图像文件扩展名???? CBitmap m_bitmap;?//创建位图对象????void?ShowBitmap(CString BmpName);????//用来显示指定位图的函数???? BOOL ShowJpgGif(CDC*?pDC,CString strPath,?int?x,?int?y);
3、在CShowBitmap类的构造函数中,初始化成员变量state
//?CShowBitmapView 构造/析构CShowBitmapView::CShowBitmapView(){???? state=0;}
4、为ID_FILE_OPEN消息添加响应函数(具体怎么加就不细说了),编写该函数
//?CShowBitmapView 消息处理程序void?CShowBitmapView::OnFileOpen(){????//CFileDialog dlg(TRUE,_T(BMP),_T(*.BMP),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T(位图文件(*.BMP;*.jpg)|*.BMP;*.jpg|));?? //这行代码可以打开BMP格式的图片???? CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T(位图文件(*.BMP)|*.BMP|jpg文件(*.jpg)|*.jpg||));?//这行代码可以打开BMP和JPG格式的图片
//gif格式图片的打开在这就不列出来了,留给各位自己尝试吧,对于gif格式图片的显示图片函数和jpg格式图片是同一个函数。
?????if (IDOK==dlg.DoModal())?????{?????????state=0;??????????BmpName.Format(_T(%s),dlg.GetPathName());?????????extname = dlg.GetFileExt();???????????? //返回选定文件的扩展文件名?????????extname.MakeLower();?????????if (0==extname.Compare(_T(bmp)))?????????{?????????????ShowBitmap(BmpName);?????????}?????????else?????????{?????????????state=1;?????????}????????Invalidate();?????}}
5、编写BMP图片显示函数
void?CShowBitmapView::ShowBitmap(CString BmpName){????if?(state==0)???? {???????????????????? HBITMAP hBitmap=(HBITMAP)LoadImage(NULL,BmpName,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);???????? m_bitmap.Detach();???????? m_bitmap.Attach(hBitmap);???????? state=1;???????? Invalidate();???? }}
6、编写jpg或gif格式图片显示程序
BOOL CShowBitmapView::ShowJpgGif(CDC*?pDC,CString strPath,?int?x,?int?y){???? IStream?*pStm;?????? CFileStatus fstatus;?????? CFile file;?????? LONG cb;??????//打开文件并检测文件的有效性????if?(file.Open(strPath,CFile::modeRead)???????? file.GetStatus(strPath,fstatus)????????? ((cb?=?fstatus.m_size)?!=?-1))?????? {?????????? HGLOBAL hGlobal?=?GlobalAlloc
您可能关注的文档
- Solutionsfor Chapter 17 Payout Policy.doc
- SolidWork节能灯泡建模绘制教程.docx
- SOP 04-00-01 厂房、设施管理规程.doc
- South-to-orth Water Diversion(南水北调英文简介).doc
- Special cnstruction plan contents.doc
- South Afrca Jewellery.doc
- SP-CDMA基于DMA1X的输电线路无线视频监控系统..doc
- Special Fnction Registers.docx
- sports_wods有关体育运动的英文表达.doc
- Speech atthe Graveside of Karl Marx.doc
最近下载
- 2025年普通高等学校招生全国统一考试(黑吉辽蒙)化学含答案.docx VIP
- 蒂森电梯MC2电气原理图纸标注.pdf
- XCT80L6_1汽车起重机技术规格书.pdf VIP
- 索尼SW7600GR中文说明书.pdf
- 2026年时事政治测试题库100道附参考答案(完整版).docx VIP
- 儿科抢救药品临床应用与管理.pptx VIP
- 河北广谋新材料科技有限公司年产600万平方米复合革及隔音布、400万平方米新型复合网项目环境影响报告表.docx VIP
- 部编版语文五年级下册第七单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第六单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第五单元教材解读大单元集体备课.pptx VIP
原创力文档

文档评论(0)