1
void CbitmapDlg::PastPlane()
2 {
3 CClientDC pdc(
this);
4 CDC pBufferdc, pBMPdc;
5 HBITMAP ptbmp;
6 ptbmp = CreateCompatibleBitmap(pdc, bkinfo.bmWidth, bkinfo.bmHeight);
7 pBufferdc.CreateCompatibleDC(&pdc);
8 pBMPdc.CreateCompatibleDC(&pdc);
9 pBufferdc.SelectObject(ptbmp);
10 pBMPdc.SelectObject(bkbmp->m_hObject);
11
12 pBufferdc.BitBlt(
0,
0, bkinfo.bmWidth, bkinfo.bmHeight, &pBMPdc,
0,
0, SRCCOPY);
13 pBMPdc.SelectObject(bullebmp->m_hObject);
14
for(
int i =
0; i < iCurbullet; i++)
15 {
16 pBufferdc.TransparentBlt(bullet[i].pos_x, bullet[i].pos_y, bullet[i].Deswidth, bullet[i].Desheight, &pBMPdc, bullet[i].Sou_x, bullet[i].Sou_y, bullet[i].Deswidth, bullet[i].Desheight, RGB(
255,
255,
255));
17 }
18 pdc.BitBlt(
0,
0, bkinfo.bmWidth, bkinfo.bmHeight, &pBufferdc,
0,
0, SRCCOPY);
19 DeleteDC(pdc);
20 DeleteObject(ptbmp);
21 DeleteDC(pBufferdc);
22 DeleteDC(pBMPdc);
23 }