一 控件适应于图片尺寸
添加一个picture控件,修改ID为IDC-PICTURE,并添加一CBitmap m_bmp成员变量
在OnInitDialog()函数中添加如下代码
if(m_bmp.m_hObject!=NULL) m_bmp.DeleteObject();
//以绝对路径加载BMP图片
//获得加载位图的文件信息
//获得位图信息图
//获得位图宽度
//获得位图高度
//该段程序根据图象的宽和高,调整控件大小,让它正好显示一张图片
//获得控件所在矩形区域
//调整控件大小
在OnPaint()函数中添加如下代码
//三种方法获得pictrue控件DC,图象将被绘制在控件上
二 图片适用于控件尺寸
添加一个picture控件,修改ID为IDC-PICTURE
在OnPaint()函数中添加如下代码
CWnd *pWnd=GetDlgItem(IDC_PICTRUE);//获得pictrue控件窗口的句柄
//获得pictrue控件所在的举行区域
//获得pictrue控件的DC
//定义显示图片的接口(可显示jpg格式图片)
//设置想要显示的图片
//打开图象文件,获取文件字节数
//分配全局存储空间
//锁定分配内存块
//读入文件到内存缓冲区
//装载图象文件
//获得图象真实宽度
//获得图象真实高度
//在控件上显示图片
图片显示通用模块
首先为类添加如下两个函数和一个成员变量IPicture* m_pPicture;
//图片加载函数
HRESULT LoadFromBuffer(BYTE *pBuff, int nSize)
{
//分配内存空间
//定义图象数据指针
//释放内存空间
//定义数据流指针
//创建数据流
//定义返回结果
//释放数据流
}
//图片显示函数
BOOL DrawFromFile(CString filename, CDC *pDC)
{
//打开文件
//定义分配内存
//将文件读入缓存
//释放缓存
//获取图片尺寸
//在内存中画
//将内存中画拷贝到目的地
}
然后在OnPaint()函数中显示
void CDialogDlg::OnPaint()
{
}下载本文