| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 789 人关注过本帖
标题:Direct初始化设置屏幕为24色,居然无法设置关键色?怎么回事?
只看楼主 加入收藏
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望: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
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
估计是显卡的不支持吧,颜色数一般采用8,16,32这三种,24的用得少

2007-08-21 11:27
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分: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
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 

我估计是你的关键色设置错误,你把关键色设置成黑色试试


2007-08-21 15:52
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
加我的QQ:406088125
我觉得当面谈比较好,有什么问题好马上问你

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2007-08-22 10:11
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
真的,24下设置0x00就有用,但0xFF00FF就还是会显示透明色
我越来越糊涂了,这到底怎么回事啊?
(对了,我还发现24色下不管你设置任何透明色,他都以黑色为透明色)

[此贴子已经被作者于2007-8-22 10:23:37编辑过]


天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2007-08-22 10:21
快速回复:Direct初始化设置屏幕为24色,居然无法设置关键色?怎么回事?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029147 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved