搜索
编程论坛
→
开发语言
→
C++论坛
→
『 VC++/MFC 』
→ Direct初始化设置屏幕为24色,居然无法设置关键色?怎么回事?
标题:
Direct初始化设置屏幕为24色,居然无法设置关键色?怎么回事?
只看楼主
flyue
来 自:江南西道
等 级:
贵宾
威 望:
19
帖 子:3465
专家分:1563
注 册:2006-6-20
结帖率:
100%
楼主
问题点数:0 回复次数:5
Direct初始化设置屏幕为24色,居然无法设置关键色?怎么回事?
lpDD->SetDisplayMode( 800, 600, 24);
然后
DDSetColorKey(lpDDSBack,0xFF00FF);
就没用了.
但是如果把24改为16就有用,这是怎么回事啊?
搜索更多相关主题的帖子:
Direct
屏幕
关键
2007-08-21 11:19
余来
等 级:
贵宾
威 望:
26
帖 子:956
专家分:18
注 册:2006-8-13
第
2
楼
得分:0
估计是显卡的不支持吧,颜色数一般采用8,16,32这三种,24的用得少
2007-08-21 11:27
flyue
来 自:江南西道
等 级:
贵宾
威 望:
19
帖 子:3465
专家分:1563
注 册:2006-6-20
第
3
楼
得分:0
我试过,32色也没用。只有16色或以下的颜色有用
但是16色以下会降低颜色质量(虽然眼睛很难看出)
我想做个在Direct下的Alpha半透明混色函数,24色缓冲区排列是
B G R 0
但是16色只有
B R 0
少了G绿色
所以只有在24色以上的环境才能实现Alpha半透明混色函数
大家还有什么建议?我觉得是
DDSetColorKey(lpDDSBack,0xFF00FF);
有点问题,在24下可能不是用0xFF00FF来表示一个颜色?
天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2007-08-21 14:18
余来
等 级:
贵宾
威 望:
26
帖 子:956
专家分:18
注 册:2006-8-13
第
4
楼
得分:0
我估计是你的关键色设置错误,你把关键色设置成黑色试试
2007-08-21 15:52
flyue
来 自:江南西道
等 级:
贵宾
威 望:
19
帖 子:3465
专家分:1563
注 册:2006-6-20
第
5
楼
得分:0
加我的QQ:406088125
我觉得当面谈比较好,有什么问题好马上问你
天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2007-08-22 10:11
flyue
来 自:江南西道
等 级:
贵宾
威 望:
19
帖 子:3465
专家分:1563
注 册:2006-6-20
第
6
楼
得分:0
真的,24下设置0x00就有用,但0xFF00FF就还是会显示透明色
我越来越糊涂了
,这到底怎么回事啊?
(对了,我还发现24色下不管你设置任何透明色,他都以黑色为透明色)
[此贴子已经被作者于2007-8-22 10:23:37编辑过]
天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2007-08-22 10:21
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-164299-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.323505 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved