社区
多媒体/流媒体开发
帖子详情
DirectDraw的Surface是32位的,我要显示24位,16位,8位BMP图,怎么办?怎么进行全屏显示?
jmcooler
2007-03-06 09:43:00
DirectDraw的Surface是32位的,我要显示24位,16位,8位BMP图,怎么办?怎么进行全屏播放?
...全文
569
4
打赏
收藏
DirectDraw的Surface是32位的,我要显示24位,16位,8位BMP图,怎么办?怎么进行全屏显示?
DirectDraw的Surface是32位的,我要显示24位,16位,8位BMP图,怎么办?怎么进行全屏播放?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
viewerviewer
2007-03-07
打赏
举报
回复
ddsd.ddpfPixelFormat.dwRGBBitCount 要对应于8,16,24,32
viewerviewer
2007-03-07
打赏
举报
回复
把这些去掉试试:
ddsd.ddpfPixelFormat.dwRBitMask = 0xff0000;
ddsd.ddpfPixelFormat.dwGBitMask = 0xff00;
ddsd.ddpfPixelFormat.dwBBitMask = 0xff;
viewerviewer
2007-03-06
打赏
举报
回复
可以创建24,16bit的Surface的啊
jmcooler
2007-03-06
打赏
举报
回复
我在创建主表面时,没有设置象素格式,而在创建离屏(OFFSCREENPLAIN)表面时设置了象素格式如下:
ZeroMemory( &ddsd, sizeof(ddsd) );
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
ddsd.dwWidth = nVidWidth;
ddsd.dwHeight = nVidHeight;
ddsd.ddpfPixelFormat.dwFlags = DDPF_RGB;
ddsd.ddpfPixelFormat.dwSize = sizeof(ddsd.ddpfPixelFormat);
ddsd.ddpfPixelFormat.dwRGBBitCount = 24;
switch( nClrDepth )
{
case 8:
ddsd.ddpfPixelFormat.dwRBitMask = 0xFF0000;
break;
case 15: //RGB555
ddsd.ddpfPixelFormat.dwRBitMask = 0x7c00;
ddsd.ddpfPixelFormat.dwGBitMask = 0x3e0;
ddsd.ddpfPixelFormat.dwBBitMask = 0x1f;
break;
case 16: //RGB565
ddsd.ddpfPixelFormat.dwRBitMask = 0xf800;
ddsd.ddpfPixelFormat.dwGBitMask = 0x7e0;
ddsd.ddpfPixelFormat.dwBBitMask = 0x1f;
break;
case 24:
ddsd.ddpfPixelFormat.dwRBitMask = 0xff0000;
ddsd.ddpfPixelFormat.dwGBitMask = 0xff00;
ddsd.ddpfPixelFormat.dwBBitMask = 0xff;
break;
case 32:
ddsd.ddpfPixelFormat.dwRBitMask = 0xff0000;
ddsd.ddpfPixelFormat.dwGBitMask = 0xff00;
ddsd.ddpfPixelFormat.dwBBitMask = 0xff;
break;
default:
return FALSE;
}
ddrval = m_lpDDraw->CreateSurface( &ddsd, &m_lpddsBack, NULL );
我用24位测试,则返回一个(象素格式不正确的)错误
D
DRAW
DEMO
简单的游戏DEMO,演示了如何使用D
DRAW
基于窗口的
Di
rect
Draw
编程
http://blog.csdn.net/lanyzh0909/article/details/6363378
Di
rect
Draw
在window下支持
全屏
模式(也叫独占模式)和窗口模式。
Di
rect
Draw
基于
全屏
模式的编程例子在%_WINCEROOT%PUBLIC/
DI
RECT
X/SDK/SAMPLES/D
DRAW
下有,读者可以去自己去查看,但是基于窗口下的
Di
rect
Dra
我的
Di
rect
Draw
7学习之旅
我的
Di
rect
Draw
7学习之旅 学习
Di
rect
Draw
大概两个月,这两个月也是我系统地学习游戏编程的两个月。所以在这个时间段里,我还学习了其他的东西,例如C++----当然,C++不是容易学的,我只学了点皮毛-----后来看《C++编程经典》,看到满世界的对象,顿时觉得自己的程序中的那些“面向对象”是多么粗糙!我的整个学习过程都是以渐进式做东西而推进的,即是学到一个阶段了就
Di
rect
Draw
学习总结
Di
rect
Draw
学习总结 最近一段时间,一直在学习
Di
rect
Draw
. 在这里把自己学习的一些浅浅的体会写出来.因为自己工作中只使用很少的
Di
rect
Draw
,所以也没有深入研究.基本上是浅尝辄止把. 要学习
Di
rect
Draw
. 首先要熟悉COM.
Di
rect
X利用COM 实现了程序的无缝升级.这是DX一个很大的优点,用户无需对特定版本的DX编写程序.开发出来
Di
rect
Draw
编程基础
Di
rect
Draw
编程基础 本文面向有几个月学习编程经历的初学者:看过C++的教程,看的懂基本的C++语法;有点点VC使用经验,知道怎么去组建一个工程;理解一些windows编程的基本概念,比如窗口、消息循环等;还有,不懂的地方会去查资料:)。 看过几本关于
Di
rect
Draw
的书,这些书都不错,在此感谢她们的作者。美中不足的是这些书的部分起点
多媒体/流媒体开发
2,553
社区成员
20,277
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章