vc++游戏编程绘制位图总是显示不出来图片,图片的要存在哪?路径怎么写?
LoadImage()第二个参数,也就是图片名称就直接写图片名称就行?已经按照下面的做了,可还是不行:1首先把位图载入:HBITMAPbmp=LoadImage(NULL...
LoadImage()第二个参数,也就是图片名称就直接写图片名称就行?已经按照下面的做了,可还是不行:
1 首先把位图载入:
HBITMAP bmp = LoadImage(NULL, "d:/logo.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
2 从你的DC中创建内存DC
HDC mdc = CreateCompitableDC(hdc);
3 把位图选入内存DC
SelectObject(mdc, bmp);
4 帖图
BitBlt(hdc, 0, 0, 100, 100, mdc, 0, 0, SRCCOPY);
如果方便的话,最好能给出具体的程序代码! 展开
1 首先把位图载入:
HBITMAP bmp = LoadImage(NULL, "d:/logo.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
2 从你的DC中创建内存DC
HDC mdc = CreateCompitableDC(hdc);
3 把位图选入内存DC
SelectObject(mdc, bmp);
4 帖图
BitBlt(hdc, 0, 0, 100, 100, mdc, 0, 0, SRCCOPY);
如果方便的话,最好能给出具体的程序代码! 展开
3个回答
展开全部
2 从你的DC中创建内存DC
HDC mdc = CreateCompitableDC(hdc);
函数名写错了,应该是CreateCompatibleDC,而不是CreateCompitableDC。改过来就没问题了。
下面给出在单文档应用程序中贴位图的例子:
在View类的OnDraw函数中添加如下代码
HBITMAP bmp = (HBITMAP) LoadImage(NULL, "test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
HDC mdc = CreateCompatibleDC(pDC->GetSafeHdc());
SelectObject(mdc, bmp);
BitBlt(pDC->GetSafeHdc(), 0, 0, 500, 500, mdc, 0, 0, SRCCOPY);
HDC mdc = CreateCompitableDC(hdc);
函数名写错了,应该是CreateCompatibleDC,而不是CreateCompitableDC。改过来就没问题了。
下面给出在单文档应用程序中贴位图的例子:
在View类的OnDraw函数中添加如下代码
HBITMAP bmp = (HBITMAP) LoadImage(NULL, "test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
HDC mdc = CreateCompatibleDC(pDC->GetSafeHdc());
SelectObject(mdc, bmp);
BitBlt(pDC->GetSafeHdc(), 0, 0, 500, 500, mdc, 0, 0, SRCCOPY);
博思aippt
2024-07-20 广告
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景。ai生...
点击进入详情页
本回答由博思aippt提供
展开全部
CDC dcMem;
CBitmap cBtm, *pOldBtm;
BITMAP btm;
CRect rc;
cBtm.LoadBitmap( IDB_BTM_BK );// 载入图片
cBtm.GetBitmap( &btm );//得到位图信息
dcMem.CreateCompatibleDC( pDC );//创建设备兼容DC
pOldBtm = dcMem.SelectObject( &cBtm );//选入位图
pDC->StretchBlt( 0, 0, rc.Width(), rc.Height(), &dcMem, 0, 0, btm.bmWidth, btm.bmHeight, SRCCOPY );//BitBlt也可以
dcMem.SelectObject( pOldBtm ); //选回原始位图
CBitmap cBtm, *pOldBtm;
BITMAP btm;
CRect rc;
cBtm.LoadBitmap( IDB_BTM_BK );// 载入图片
cBtm.GetBitmap( &btm );//得到位图信息
dcMem.CreateCompatibleDC( pDC );//创建设备兼容DC
pOldBtm = dcMem.SelectObject( &cBtm );//选入位图
pDC->StretchBlt( 0, 0, rc.Width(), rc.Height(), &dcMem, 0, 0, btm.bmWidth, btm.bmHeight, SRCCOPY );//BitBlt也可以
dcMem.SelectObject( pOldBtm ); //选回原始位图
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
孙鑫视频上有详细例子
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询