資源簡介
《MFC游戲開發(fā)》筆記三 透明貼圖 配套源代碼
歡迎大家關(guān)注配套博文:http://blog.csdn.net/u011371356/article/details/9313239#reply
代碼片段和文件信息
//?ChildView.cpp?:?CChildView?類的實現(xiàn)
//
#include?“stdafx.h“
#include?“GameMFC2.h“
#include?“ChildView.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//?CChildView
CChildView::CChildView()
{
}
CChildView::~CChildView()
{
}
BEGIN_MESSAGE_MAP(CChildView?CWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()
//將png貼圖透明
void?TransparentPNG(CImage?*png)
{
for(int?i?=?0;?i?GetWidth();?i++)
{
for(int?j?=?0;?j?GetHeight();?j++)
{
unsigned?char*?pucColor?=?reinterpret_cast(png->GetPixelAddress(i??j));
pucColor[0]?=?pucColor[0]?*?pucColor[3]?/?255;
pucColor[1]?=?pucColor[1]?*?pucColor[3]?/?255;
pucColor[2]?=?pucColor[2]?*?pucColor[3]?/?255;
}
}
}
//?CChildView?消息處理程序
BOOL?CChildView::PreCreateWindow(CREATESTRUCT&?cs)?
{
if?(!CWnd::PreCreateWindow(cs))
return?FALSE;
cs.dwExstyle?|=?WS_EX_CLIENTEDGE;
cs.style?&=?~WS_BORDER;
cs.lpszClass?=?AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS?
::LoadCursor(NULL?IDC_ARROW)?reinterpret_cast(COLOR_WINDOW+1)?NULL);
//創(chuàng)建兼容的DC
m_bgcDC.CreateCompatibleDC(NULL);
//從資源中加載位圖
m_bgBitmap.LoadBitmap(IDB_BITMAP1);
//選擇位圖對象
m_bgcDC.Selectobject(&m_bgBitmap);
//加載英雄圖片
m_hero.Load(“hero.png“);
TransparentPNG(&m_hero);
return?TRUE;
}
void?CChildView::OnPaint()?
{
//獲取窗口DC指針
CDC?*cDC=this->GetDC();
//獲取窗口大小
GetClientRect(&m_client);
//貼圖
cDC->BitBlt(00m_client.Width()m_client.Height()&m_bgcDC00SRCCOPY);
//釋放DC
m_hero.Draw(*cDC1004006060);
ReleaseDC(cDC);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????1957888??2013-07-12?16:44??GameMFC2\Debug\GameMFC2.exe
?????文件????1583072??2013-07-12?16:44??GameMFC2\Debug\GameMFC2.ilk
?????文件????5311488??2013-07-12?16:44??GameMFC2\Debug\GameMFC2.pdb
?????文件????1440054??2013-07-12?15:18??GameMFC2\GameMFC2\bg.bmp
?????文件???????1635??2013-07-12?16:44??GameMFC2\GameMFC2\ChildView.cpp
?????文件????????539??2013-07-12?16:14??GameMFC2\GameMFC2\ChildView.h
?????文件?????129808??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\ChildView.obj
?????文件???????2946??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\cl.command.1.tlog
?????文件??????50598??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\CL.read.1.tlog
?????文件???????2716??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\CL.write.1.tlog
?????文件????????667??2013-07-11?13:13??GameMFC2\GameMFC2\Debug\GameMFC2.exe.em
?????文件????????732??2013-07-12?15:53??GameMFC2\GameMFC2\Debug\GameMFC2.exe.em
?????文件????????381??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\GameMFC2.exe.intermediate.manifest
?????文件?????????60??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\GameMFC2.lastbuildstate
?????文件???????2221??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\GameMFC2.log
?????文件??????55073??2013-07-12?16:18??GameMFC2\GameMFC2\Debug\GameMFC2.obj
?????文件???33751040??2013-07-12?15:50??GameMFC2\GameMFC2\Debug\GameMFC2.pch
?????文件????1515404??2013-07-12?15:53??GameMFC2\GameMFC2\Debug\GameMFC2.res
?????文件????????206??2013-07-11?13:13??GameMFC2\GameMFC2\Debug\GameMFC2_manifest.rc
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
?????文件??????????2??2013-07-12?16:44??GameMFC2\GameMFC2\Debug\li
............此處省略55個文件信息
評論
共有 條評論