目录
加载bmp图片:
1.通过资源视图和属性加载
通过资源视图本地导入一张bmp格式图片
在对话框里拖一个Picture Control
修改控件的类型和图像ID,就可以显示图片了
这样就加载完成了
2.通过代码加载
首先要更改控件ID(我自己的如果不改就不能给这个控件添加变量,不知道是不是Bug)
在Dlg.cpp文件中,找到Oninit函数
首先加载Bitmap图片
//1.准备Bitmap图片
CBitmap bmp;
//加载Bitmap图片,传入资源ID
bmp.LoadBitmap(IDB_BITMAP1);
将图片控件绑定的变量设为我们加载的Bitmap
//1.准备Bitmap图片
CBitmap bmp;
//加载Bitmap图片,传入资源ID
bmp.LoadBitmap(IDB_BITMAP1);
//2.将控件绑定的变量设为我们加载的Bitmap资源
m_pic.SetBitmap(bmp);
因为我们的Bitmap是局部变量,当函数退出时其相关的值也会被删掉,所以要在加载完成后进行变量分离操作
//1.准备Bitmap图片
CBitmap bmp;
//加载Bitmap图片,传入资源ID
bmp.LoadBitmap(IDB_BITMAP1);
//2.将控件绑定的变量设为我们加载的Bitmap资源
m_pic.SetBitmap(bmp);
//3.分离变量
bmp.Detach();
调试结果:
当然,也可以将Bitmap设为成员变量,这样就不需要做变量分离操作
加载PNG格式图片
首先添加一个成员变量CImage,因为我们加载的图片需要在多个函数中使用,所以要设置成成员变量
在Dlg.cpp文件的Oninit函数加载png图片
//1.加载png图片
image.Load(_T("C:\\Users\\郭小乐\\Desktop\\tom.png"));
在OnPaint函数else代码块里补充代码
else
{
//1.获得用于绘制的设备上下文
CPaintDC dc(this);
//2.获得绘制区域(获得图片控件相对窗口的位置)
CRect rect;
m_pic.GetWindowRect(&rect);
ScreenToClient(&rect);
CDialogEx::OnPaint();
//绘制图片
image.Draw(dc, rect);
}
调试结果