33
|
Echo says Reinstate Monica · 技术社区 · 15 年前 |
1
54
简单解决方案: 使用 HSL or HSV 色空间 而不是RGB(如果需要,请在以后将其转换为RGB)。差异是元组的含义:其中,rgb表示红色、绿色和蓝色的值,在hsl中,h表示颜色(例如120度或0.33表示绿色),s表示饱和度,v表示亮度。因此,将h保持在一个固定的值(或者,对于更多的随机颜色,可以通过加/减一个小的随机数使其随机化)并随机化s和v。 wikipedia 文章。 |
2
21
正如其他人所说,在HSV颜色空间中生成随机颜色要容易得多(或HSL,两者之间的差异与此无关)。 因此,代码生成随机的“绿色”颜色,并(出于演示目的)将它们显示为一系列简单的彩色HTML跨距标记:
输出(在Web浏览器中查看时)应沿以下行显示:
编辑
:我不知道colorsys模块。而不是上面的
|
3
16
退房
http://docs.python.org/library/colorsys.html 使用HSL或HSV颜色空间。随机化色调接近绿色,然后选择完全随机的材料作为饱和度和V(亮度)。 |
4
9
如果你坚持使用RGB,你基本上只需要确保G值大于R和B,并尽量保持蓝色和红色的值相似,这样色调就不会变得太疯狂。从slaks扩展,可能类似(我对python一无所知):
|
5
5
所以,在这种情况下,你很幸运地想要原色的变化,但是对于这样的艺术用途,最好是指定色轮坐标,而不是原色的大小。
你可能想从
|
6
3
HSX颜色空间的解决方案非常好。但是,如果您需要一些非常简单的东西,并且对颜色的分布没有特定的要求(例如一致性),那么基于RGB的简单解决方案将只是确保g值大于r和b值。
这会给你“绿色”的颜色。他们中的一些人将永远是如此的微绿。你可以通过增加(绝对或相对)最后一个下限来提高绿色的保证程度。
|
7
1
你想做的是 HSL 而不是RGB。你可以找到一个满足“绿色”的色调范围,然后从中选择一个随机的色调。你也可以选择随机的饱和度和亮度,但你可能想让饱和度保持在1附近,亮度保持在0.5左右,但是你可以使用它们。 下面是一些将hsl转换为rgb的actionscript代码。我有一段时间没有接触过python,否则它会发布python版本。 我发现绿色有点像0.47*pi到0.8*pi。
|
8
0
最简单的方法是确保红色和蓝色组件是相同的,就像这样:(请原谅我的python)
|
9
0
我会采用其他人提到的HSV方法。另一种方法是得到一张高分辨率的照片,照片中有一些绿色植物,裁剪出非绿色部分,然后使用 PIL . |
ecology · 基于R中随机生成数集的子集列 2 年前 |
Alan Jones · 使用random从列表创建动态列表 2 年前 |
breking bed · 单击按钮时如何随机选择唯一编号 2 年前 |
Carrot Man · 如何让熊猫数据框随机填充1和0? 2 年前 |
Justin Arnold · 范围内的随机数不是随机数 2 年前 |
Menna Magdy · 如何使用非模型字段进行过滤? 2 年前 |