社区
图形处理/算法
帖子详情
DirectDraw的小问题!
angelface
2003-10-20 07:54:02
怎么用DirectDraw中显示一张位图?
我现在可以写出一个基本框架!!
就差这一块!
...全文
26
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
硬件加速!)
天之痕窗口化加免CD补丁,DLL文件的源代码见http://download.csdn.net/source/1780271,注意要把光盘上的Video动画文件夹和地图文件Huge.lmf都放在游戏根目录下,否则进入之后会出错! 如果播放BIK动画时报错请关闭
Di
rect
Draw
硬件加速! 桌面必须设成32位色! 此补丁只能运行在桌面分辨率的1280*800的笔记本电脑上!!! 如果桌面是其它分辨率会出现花屏!!! 请到http://download.csdn.net/source/2668865下载无此限制的最新版本!
禁用和开启
Di
rect
Draw
加速,
Di
rect
3D加速批处理(支持XP和WIN7)
禁用和开启
Di
rect
Draw
加速,
Di
rect
3D 加速,AGP纹理加速批处理 在使用本程序前,请先确认你已经安装最新的显卡驱动程序 使用说明: 解压缩,XP系统用户直接运行BAT文件,WIN7系统用户,请右键以管理员身份运行,否则会提示:"错误:拒绝访问。" 禁用
Di
rect
Draw
加速,
Di
rect
3D 加速,AGP纹理加速,请选择 "1" 开启
Di
rect
Draw
加速,
Di
rect
3D 加速,AGP纹理加速,请选择 "2" 精彩库游戏网提供,转载请说出处。有
问题
请联系QQ:7236234 在网上找了好久,可是在WIN7系统下就是无法禁用加速,经过我一个晚上的测试,总算搞清楚了是怎么一回事,总可以完美执行了。 附上两个注册表,如果你不想用批处理,可以使用我们提供的两个注册表文件进行注册。
Windows游戏编程系列之6:D3D编程基础及游戏开发实战
大家在学习中要多总结分析、遇到不会的
问题
要多问、多交流。 具体的内容包括:D3D开发环境的搭建与配置、Windows窗口与消息、D3D编程基础、 D3D的顶点缓存与索引缓存、 D3D三维世界之四大变换、D3D三维世界之光照与...
Di
rect
Draw
飞机小游戏源码
一个非常经典的基于
Di
rect
Draw
窗口模式的飞机游戏源码
di
rect
Draw
深入讲解了
Di
rect
Draw
的原理及使用(附源代码)。
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章