DrawImage BitBlt StretchBlt画PNG图片的方法
来源:互联网 发布:linux没有wget命令 编辑:程序博客网 时间:2024/06/06 00:41
在对话框的OnPaint() 函数中添加代码:
以本人的代码为例:
//Graphics graphics
//graphics.DrawImage方法使用
void UserList::OnPaint()
{
CPaintDC dc(this); // device context for painting
//第一种画图的方法graphics.DrawImage拉伸图片
CRect rect;
GetClientRect(&rect);
Graphics graphics(dc.m_hDC);
//加载PNG图片
Bitmap background(L".\\userlist\\classlist_top.png");
graphics.DrawImage(&background,0,0,rect.Width(),rect.Height());
CDialog::OnPaint();
}
void UserList::OnPaint()
{
CPaintDC dc(this); // device context for painting
//加载PNG图片
Bitmap background(L".\\userlist\\classlist_top.png");
//第二种画图的方法BitBlt原始图片
CRect rc;
CDC MemDC;
CBitmap cbitmap;
CBitmap* pOldBmp = NULL;
HBITMAP hBitmap;
CDC * pDC = GetDC();
// Bitmap To HBITMAP
// HBITMAP To CBitmap *
background.GetHBITMAP(Color(0,0,0),&hBitmap); // Bitmap To HBITMAP
CBitmap* cBitmap = CBitmap::FromHandle(hBitmap); // HBITMAP To CBitmap *
//显示图片
MemDC.CreateCompatibleDC(pDC);
pOldBmp = MemDC.SelectObject(cBitmap);
GetClientRect(&rc);
dc.BitBlt(0, 0, rect.Width(),rect.Height(), &MemDC, 0, 0, SRCCOPY);
//releaseDC
MemDC.SelectObject(pOldBmp);
MemDC.DeleteDC();
cBitmap->DeleteObject();
CDialog::OnPaint();
}
void UserList::OnPaint()
{
CPaintDC dc(this); // device context for painting
//加载PNG图片
Bitmap background(L".\\userlist\\classlist_top.png");
//第三种画图的方法StretchBlt平铺图片
CRect rc;
CDC MemDC;
CBitmap cbitmap;
CBitmap* pOldBmp = NULL;
HBITMAP hBitmap;
CDC * pDC = GetDC();
// Bitmap To HBITMAP
// HBITMAP To CBitmap *
background.GetHBITMAP(Color(0,0,0),&hBitmap); // Bitmap To HBITMAP
CBitmap* cBitmap = CBitmap::FromHandle(hBitmap);// HBITMAP To CBitmap *
//显示图片
MemDC.CreateCompatibleDC(pDC);
pOldBmp = MemDC.SelectObject(cBitmap);
GetClientRect(&rc);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,background.GetWidth(), background.GetHeight(), SRCCOPY);
//releaseDC
MemDC.SelectObject(pOldBmp);
MemDC.DeleteDC();
cBitmap->DeleteObject();
CDialog::OnPaint();
}
- DrawImage BitBlt StretchBlt画PNG图片的方法
- DrawImage BitBlt StretchBlt画PNG图片的方法
- DrawImage BitBlt StretchBlt画PNG图片的方法
- DrawImage BitBlt StretchBlt画PNG图片的方法
- BitBlt和StretchBlt的区别
- BitBlt 和StretchBlt的区别
- BitBlt和StretchBlt的区别
- BitBlt和StretchBlt的区别
- BitBlt函数和StretchBlt函数的使用
- bitblt 和stretchblt的区别 解释、、、
- bitblt 与 stretchblt 的使用区别
- StretchBlt函数和BitBlt函数的用法
- StretchBlt函数和BitBlt函数的用法
- stretchblt、bitblt对双缓存的应用
- StretchBlt函数和BitBlt函数的用法
- StretchBlt函数和BitBlt函数的用法
- AlphaBlend StretchBlt BitBlt
- AlphaBlend StretchBlt BitBlt
- Iphone 键盘消失
- 国内三大手机运营商号段
- gdb-Linux下的代码debug工具-初学者
- IOS Map地图
- 什么是Duwamish
- DrawImage BitBlt StretchBlt画PNG图片的方法
- offsetof详解
- 浅谈:国内软件公司为何无法做大做强?
- java字符编码
- vsto程序开发小结
- linux下mysql的安装配置远程连接
- Android模拟器镜像文件介绍
- GDI+概括
- java之io类,输入输出流学习