您的位置:首页 > 其它

DrawImage BitBlt StretchBlt画PNG图片的方法

2011-11-03 16:24 1111 查看
在对话框的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();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: