游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2286|回复: 9

怎样平分颜色,得到RGB值?

[复制链接]

16

主题

158

帖子

168

积分

注册会员

Rank: 2

积分
168
发表于 2004-9-7 11:26:00 | 显示全部楼层 |阅读模式
怎样得到一连串渐变的颜色的RGB值,
比方说要8种渐变的颜色,如何求得?

16

主题

158

帖子

168

积分

注册会员

Rank: 2

积分
168
 楼主| 发表于 2004-9-7 11:27:00 | 显示全部楼层

Re:怎样平分颜色,得到RGB值?

假设颜色变化范围从白色到黑色

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2004-9-7 12:59:00 | 显示全部楼层

Re:怎样平分颜色,得到RGB值?

-。- 比如两个颜色分别是(r1,g1,b1)和(r2,g2,b2)
要就这两个颜色间的渐变,比如有N种渐变颜色,那么每种颜色就是:
for(i=0;i<N;i++)
  color = IMPORT_RGB(abs(r1-r2)/N*i, abs(g1-g2)/N*i, abs(b1-b2)/N*i);

18

主题

579

帖子

583

积分

高级会员

Rank: 4

积分
583
发表于 2004-9-7 13:31:00 | 显示全部楼层

Re:怎样平分颜色,得到RGB值?

你要把他转换一下,转化为用色相,饱和度,亮度(HSB)颜色的表示,连续调整色相就可以,然后转换回来。得到的就是连续的夜色

16

主题

158

帖子

168

积分

注册会员

Rank: 2

积分
168
 楼主| 发表于 2004-9-7 14:34:00 | 显示全部楼层

Re:怎样平分颜色,得到RGB值?

xie le

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2004-9-10 11:14:00 | 显示全部楼层

Re:怎样平分颜色,得到RGB值?

简单啊,先编一个求得2种颜色中间渐变的函数,然后调用7次不就行了。

18

主题

579

帖子

583

积分

高级会员

Rank: 4

积分
583
发表于 2004-9-10 13:39:00 | 显示全部楼层

Re:怎样平分颜色,得到RGB值?

是这样的。使用HSB求得的颜色色调是不会变化的,其他方法容易产生颜色变暗或者变亮。但是HSB是不能改变灰色的,比如说从黑到白是不行的

18

主题

579

帖子

583

积分

高级会员

Rank: 4

积分
583
发表于 2004-9-10 13:40:00 | 显示全部楼层

Re:怎样平分颜色,得到RGB值?

这种方法应该就是Photoshop里面调节色相的方法

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2004-9-10 14:43:00 | 显示全部楼层

Re:怎样平分颜色,得到RGB值?

在编程时最好还是把思维转到RGB的方向上来,而不是HSB。
先把R、G、B三个分量分离出来,然后作插值运算,得到的R、G、B
再用RGB函数组合起来就ok了。

5

主题

71

帖子

73

积分

注册会员

Rank: 2

积分
73
发表于 2004-9-10 15:08:00 | 显示全部楼层

Re:怎样平分颜色,得到RGB值?

需要注意!
如果想要得到视觉心理学上的满意效果,
采用平均分配的方法是不行的,
人类视觉对于浅色的敏感度要高一些。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-18 08:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表