读书人

在窗口的WM_PAINT中怎么刷一幅bmp图

发布时间: 2013-03-01 18:33:02 作者: rapoo

在窗口的WM_PAINT中,如何刷一幅bmp图片进去?



case WM_PAINT:
{
hDC=BeginPaint(hWnd, &PtStr);
//这里如何载入一幅图片,并刷在窗口上?
TextOut(hDC, 400, 200, "Hello world!", 12);
EndPaint(hWnd,&PtStr);
return 0;
}


[解决办法]
bitblt

http://blog.csdn.net/bberdong/article/details/6934270
[解决办法]
一样的。。。
[解决办法]
PAINTSTRUCT ps;
BeginPaint( hwnd , &ps );
RECT rc;
GetClientRect(hwnd ,&rc);
if (IsStart)
{
g_GameUI.Draw(hwnd,ps,rc);
}
if(g_IsSucc == 1
[解决办法]
g_IsSucc==2)
{
//KillTimer(hwnd,1);
switch(g_IsSucc)
{
case 1:

IsStart = g_GameUI.Init(hwnd);
g_barrier++;
g_EnemyTankSum = 12;
g_IsSucc = 3;
break;//win
case 2:
{
Sleep(1000);
PICTURE pic;
//CGraphics g;
pic.m_bitmap.Create(L".\\graphics\\gameover.bmp",ps);
g_GameUI.m_graphics.Create(hwnd,ps,rc);

g_GameUI.m_graphics.PreDraw(rc);//为什么要清屏呢?

POINT pos = {100,100};
POINT logpos = {0,0};
g_GameUI.m_graphics.Draw(pic.m_bitmap,pos,248,160,logpos);

g_GameUI.m_graphics.Flush(ps,rc);

g_GameUI.m_graphics.AfterFlush(pic.m_bitmap);
g_GameUI.m_graphics.Destroy();
pic.m_bitmap.Destroy();
g_IsSucc = 3;

}
break; //lose;
}
}


EndPaint(hwnd,&ps);//没有加


看我的下载资源 坦克大战
[解决办法]
不是复杂

1.载入图片
2.bitblt显示图片
[解决办法]
HDC hdcMem = CreateCompatibleDC(hDC);

用双缓冲么

都没有创见内存图片


[解决办法]
http://blog.csdn.net/xsc2001/article/details/5378601
[解决办法]
移动会闪屏

还是会接触双缓冲的


恭喜你了!
[解决办法]
移动图片!!
[解决办法]
BitBlt(hDC,0,0,200,200,hMemDC,0,0,SRCCOPY);

更改这里的值 在onmousemove里面
BitBlt(hDC,point.x,point.y,200,200,hMemDC,0,0,SRCCOPY);
[解决办法]
画图片就是BitBlt,自己封装一个函数吧

1、部分画图

void CopyBitmap(HDC hDC,HBITMAP hBitmap,long x,long y,long x1,long y1,long Width,long Height)
{
HDC dcMem=CreateCompatibleDC(hDC);
HGDIOBJ oldBmp=SelectObject(dcMem,hBitmap);
BitBlt(hDC,x,y,Width,Height,dcMem,x1,y1,SRCCOPY);


SelectObject(dcMem,oldBmp);
DeleteDC(dcMem);
}



2、画整张图

void CopyFullBitmap(HDC hDC,HBITMAP hBitmap,long x,long y,long Width,long Height)
{
HDC dcMem=CreateCompatibleDC(hDC);
HGDIOBJ oldBmp=SelectObject(dcMem,hBitmap);
BitBlt(hDC,x,y,Width,Height,dcMem,0,0,SRCCOPY);
SelectObject(dcMem,oldBmp);
DeleteDC(dcMem);
}


读书人网 >VC/MFC

热点推荐