VC 实现打开 BMP JPG 或 GIF 图片(二)|VC/MFC/打开图片
1、新建一个单文档的应用程序,项目名称为 ShowBitmap
2 、 为 CShowBitmapView 类 添 加 下 述 成 员 变 量 和 成 员 函 数 : 其 中 CImage
m_MyImage 需要头文件"atlimage.h"的支持,或者你可以用向导来加这个变量,
那么头文件会自动添加的,我们这里手动在 CShowBitmapView.h 中加入#include
"atlimage.h",一定要记得加这个。
//参数定义
public:
CString strPicPath; //打开的图片文件文件名
CString extname; //打开的图片文件的扩展名
CBitmap m_bitmap; //创建位图对象
CImage m_MyImage; //用于读取与显示 jpg 等格式的图像文件
void ShowBitmap(CDC* pDC,CString strPicPath); //用来显示指定位图的函数
void ShowPic(CDC* pDC,CString picName);
3、为 ID_FILE_OPEN 消息添加响应函数(具体怎么加就不细说了),编写该
函数(代码如下)
voidCShowBitmapView::OnFileOpen()
{
//CFileDialog dlg(TRUE,_T("BMP"),_T("*.BMP"),OFN_HIDEREADONLY|
OFN_OVERWRITEPROMPT,_T("位图文件(*.BMP;*.jpg)|*.BMP;*.jpg|"));
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|
OFN_OVERWRITEPROMPT,_T(" 图 片 文 件 (*.jpg;*.jpeg;*.gif;*.bmp)|
*.jpg;*.jpeg;*.gif;*.bmp|位图文件(*.BMP)|*.BMP||"));
if (IDOK==dlg.DoModal())
{
strPicPath.Format(_T("%s"),dlg.GetPathName());
extname= dlg.GetFileExt(); //返回选定文件的扩展文件名
extname.MakeLower(); //将后缀名变成小写的
Invalidate();
}
}
4、编写 BMP 图片显示函数
void CShowBitmapView::ShowBitmap(CDC*pDC,CString strPicPath)
- 1
- 2
前往页