我想随机化一些颜色,所有颜色都具有相同的亮度(但不同的purdy颜色)。现在有一个很好的色彩空间LAB
可以让你做到这一点,但是当转换回 RGB 时它会变得有点棘手,因为并非你可以在LAB
空间中选择的所有颜色都可以在 normal 中表示RGB
。
我决定采用以下方法(糟糕的伪代码,不要介意范围和确切值):
L = some fixed value
while r, g or b not in range 0.0 to 1.0:
a = random value
b = random value
r, g, b = LABtoRGB(L, a, b)
现在这往往只需要 1 或 2 次迭代L=50
(因为RGB
可以代表该亮度的大部分颜色),但我不喜欢这种解决方案。
肯定有更好的方法吗?干杯!