社区
多媒体/流媒体开发
帖子详情
DirectDraw的Surface是32位的,我要显示24位,16位,8位BMP图,怎么办?怎么进行全屏显示?
jmcooler
2007-03-06 09:43:00
DirectDraw的Surface是32位的,我要显示24位,16位,8位BMP图,怎么办?怎么进行全屏播放?
...全文
593
4
打赏
收藏
DirectDraw的Surface是32位的,我要显示24位,16位,8位BMP图,怎么办?怎么进行全屏显示?
DirectDraw的Surface是32位的,我要显示24位,16位,8位BMP图,怎么办?怎么进行全屏播放?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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位测试,则返回一个(象素格式不正确的)错误
CMake3.27+OpenCV4.8+VS2019+CUDA配置
CMake3.27+OpenCV4.8+VS2019+CUDA配置
2019.8.27
2019.8.27 for(int i=0;i<strings.size();i++){ String s = strings.get(i); if(i>0 && currentCollator.compare(s, strings.get(i-1)) == 0){ sortedWords.append("= "); } sortedWords.appe
2019.8.27 Za
Za 19.8.27 [APIO2008]紧急集合 一棵树上 找一个点 使三个人到该点的花费最少 求三个点两两之间的LCA得出,然后我们发现这三个LCA中有二者重合即它存在两种情况:最后三者所走到的最优公共点只可能为这二者之一。 #include<iostream> #include<cst
di
o> #include<queue> #include&l...
2019/8/27题目记录
今天还是没有看多少题目,主要是知识上有缺漏,常常看不懂就去补了,所以,明天还是早上把知识看一遍,然后看博弈和同余吧,同余类题目真的难(数论)。 1、【HDU】欧拉函数 欧拉函数就是求解小于n的数中与n互质的数目。 本题就是让我们求一段区间的欧拉函数的和,可以使用前缀和优化,为了节省数组可以直接sum[i]+=sum[i-1]。不然很容易爆内存 线性欧拉筛如下: 上面的这种打表...
2019-8-27
今天学习的英语句子,意思方面都是比较简单的,主要是了解了一哈插入语在句子中的成分。在英语中插入语的成分是一个独立的部分, 和语句的上文没有语法上的关系。 for example: Ensures that 90 percent of the uniforms and workstation fit recruits without alternation.She says th...
多媒体/流媒体开发
2,554
社区成员
20,277
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章