社区
图形处理/算法
帖子详情
DirectDraw的小问题!
angelface
2003-10-20 07:54:02
怎么用DirectDraw中显示一张位图?
我现在可以写出一个基本框架!!
就差这一块!
...全文
28
4
打赏
收藏
DirectDraw的小问题!
怎么用DirectDraw中显示一张位图? 我现在可以写出一个基本框架!! 就差这一块!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
answerear
2003-10-22
打赏
举报
回复
怎么从lpddsprimary blit到 lpddsprimary?直接创建主页面,然后载入位图到主页面就行啦。
DDSURFACEDESC2 ddsd;
memset(&ddsd,0,sizeof(ddsd));
ddsd.dwSize=sizeof(ddsd);
ddsd.dwFlag=DDSD_CAPS;
ddsd.ddscaps.dwCaps=DDSCAPS_PRIMARYSURFACE;
lpDD->CreateSurface(&ddsd,&lpPrimarySurface,NULL);
DDReLoadBitmap(lpPrimarySurface,"test.bmp");
如果要载入到后备缓冲页面,先创建后备缓冲页面,然后载入到后备缓冲页面,道理同上。只是把blt函数放在主循环里。
angelface
2003-10-21
打赏
举报
回复
rect.left = 0;
rect.top = 0;
rect.right = GetSystemMetrics(SM_CXSCREEN);
rect.bottom = GetSystemMetrics(SM_CYSCREEN);
lpDD->CreateSurface(&ddsd, &lpDDSPrimary, NULL);
DDReLoadBitmap(lpDDSPrimary, "test.bmp");
lpDDSPrimary->Blt(&rect, lpDDSPrimary, NULL, DDBLT_WAIT|DDBLT_KEYSRC ,NULL);
有什么问题吗? 为什么屏幕一闪就没了?
angelface
2003-10-21
打赏
举报
回复
我试了,, 但是不好用啊,,
还是开始创建的那个黑屏, 在就什么也没有了!!
怎么办?
用DDReLoadBitmap
然后lpDD->Bit();也不好用,, 是怎么回事?
answerear
2003-10-21
打赏
举报
回复
把位图载入离屏页面,然后blit到后备缓冲页面,用flip()就可以啦.
HBITMAP hbmp;
BITMAP bmp;
hbmp=(HBITMAP)::LoadImage(GetModuleHandle(NULL),szFileName,IMAGE_BITMAP,0,0,
LR_CREATEDIBSECTION);
if(!hbmp)
hbmp=(HBITMAP)::LoadImage(NULL,szFileName,IMAGE_BITMAP,0,0,
LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(!hbmp)
return -1;
::GetObject(hbmp,sizeof(bmp),&bmp);
然后创建离屏页面
HDC memhdc;
memhdc=::CreateCompatibleDC(hDC);
if(!memhdc)
return -2;
::SelectObject(memhdc,hbmp);
BOOL b=::BitBlt(hDC,0,0,m_nWidth,m_nHeight,memhdc,0,0,SRCCOPY);
::DeleteDC(memhdc);
大概就这样.详细的自己补全吧.不过速度比较慢,也可以自己写读位图的程序,windows游戏编程大师这本书上有写这种自己写的读位图程序.自己去看吧.
天之痕窗口化加免CD补丁(如果报错请关闭
Di
rect
Draw
硬件加速!)
如果播放BIK动画时报错请关闭
Di
rect
Draw
硬件加速! 桌面必须设成32位色! 此补丁只能运行在桌面分辨率的1280*800的笔记本电脑上!!! 如果桌面是其它分辨率会出现花屏!!! 请到...
禁用和开启
Di
rect
Draw
加速,
Di
rect
3D加速批处理(支持XP和WIN7)
禁用和开启
Di
rect
Draw
加速,
Di
rect
3D 加速,AGP纹理加速批处理 在使用本程序前,请先确认你已经安装最新的显卡驱动程序 使用说明: 解压缩,XP系统用户直接运行BAT文件,WIN7系统用户,请右键以管理员身份运行,否则...
Windows游戏编程系列之6:D3D编程基础及游戏开发实战
我将带领大家认真学习D3D的系列编程,从窗口开始,到G
DI
、到D3D、到三维场景、纹理映射、光照与材质、顶点与索引、Alpha混合、深度测试等。大家在学习中要多总结分析、遇到不会的
问题
要多问、多交流。具体的内容包括:D3D开发环境的搭建与配置、Windows窗口与消息、D3D编程基础、D3D的顶点缓存与索引缓存、 D3D三维世界之四大变换、D3D三维世界之光照与材质、D3D编程之纹理映射、D3D编程之Alpha混合技术、D3D编程之深度测试与Z缓存、D3D编程之三维粒子系统以及
Di
rect
Input鼠标与键盘等。
Di
rect
Draw
飞机小游戏源码
一个非常经典的基于
Di
rect
Draw
窗口模式的飞机游戏源码
di
rect
Draw
深入讲解了
Di
rect
Draw
的原理及使用(附源代码)。
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章