【问题标题】:Algorithm to sort colors like the rainbow像彩虹一样对颜色进行排序的算法
【发布时间】:2019-06-12 03:26:49
【问题描述】:

所以我生成了随机颜色并使用chroma.js 将它们混合在一起。

它看起来不错,因为 chroma.js 中的混合非常棒。但是,请注意图像中有两个或三个绿色点(或更多),以及一些紫色点等。为了使这看起来更好,我认为在混合颜色之前对颜色进行排序会很好,所以它们是更像彩虹。想知道是否有任何方法可以做到这一点,或者是否有可能,我真的无法想象如何做到这一点。

据我所知是这样的。对于每种颜色,calculate it's distance 为 6 种彩虹色之一。首先最接近红色,然后最接近橙色,依此类推。但我真的不知道该怎么做,看起来很复杂。

【问题讨论】:

  • 将 RGB 转换为 HSV/HSL(this postthis post 或任何其他 RGB 转换为 HSV/HSL),或者直接提取 Hue,然后按 Hue 排序。
  • 就是这样!你解决了耶,谢谢:)

标签: algorithm colors


【解决方案1】:

按色调排序会给你“像彩虹一样”的颜色。但是,请注意,虽然彩虹色是完全饱和的颜色,但您的颜色集的饱和度和亮度也会有所不同。因此,按色调排序可能不会产生最佳效果。

从给定的一组颜色中创建最平滑的调色板的问题等价于Traveling Salesperson Problem。当然,不需要精确的解决方案,任何快速近似都可以。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 2021-05-10
    • 2012-07-10
    • 1970-01-01
    相关资源
    最近更新 更多