【发布时间】:2014-05-26 07:36:42
【问题描述】:
我愿意在 Java 中生成随机颜色(使用任何构造函数),但我需要它们在视觉上不太接近另一个颜色。影响可接受程度的变量将是完美的。
根据我们眼睛的工作方式,RGB 比较似乎不是很有效。我也不想要一个固定的列表。
HSV 或 HSB 会在那里工作得很好吗?
感谢您的帮助!
编辑:更具体地说,我需要显示一定数量的正方形(1 到 ~20+),它们都需要具有不会混淆的不同颜色。我不想要一个列表(即使是一个大列表),因为这是我已经在使用的,尽管有更好的。
【问题讨论】:
-
谢谢!我试试看
-
如果您所追求的只是 20 种“不同外观”的颜色,而没有将它们列在一个长长的列表中,您就不能只选择 12 种完全饱和的颜色,并且色调在0和1;然后是半饱和度的 6 种颜色,色调均匀分布在 0 和 1 之间;那么黑白呢?是否需要更复杂的东西?虽然老实说,我不明白你为什么不喜欢长名单的想法。
-
OlegEstekhin :帖子的“最佳”答案似乎以凯利和博因顿的名单告终,这非常好,但并不是我真正想要的结果。大卫华莱士:长长的名单很好,但它不像我想要的那样“动态”,因为在 X 次尝试后,主题总是会以相同的颜色结束,如果我最终愿意比 N 种颜色更多列表,我不能。不过,具有全/半饱和度的均匀间隔色调的想法非常好,我也会尝试一下!
-
好的,但是如果你要处理一个非常大的 N 的情况,这将变得很难。我不确定你的眼睛能分辨出多少种“完全饱和”的色调,但我怀疑它大约是 25 种。所以这种通用方法将在 40 种颜色左右停止工作。您可能还想改变亮度,所以可能有一些颜色为半亮度或 3/4 亮度;以及以相同的方式改变饱和度。