【问题标题】:25 Color gradations from every Color每种颜色都有 25 种颜色渐变
【发布时间】:2016-09-02 08:20:56
【问题描述】:

在我的程序中,用户可以选择一种颜色,然后我必须从该颜色生成 25 个渐变。是否有任何功能可以使用或 sb 是否知道如何做到这一点?第一种颜色必须是白色,第 25 种颜色必须是深色。 谢谢:)

【问题讨论】:

    标签: vb.net algorithm colors transformation


    【解决方案1】:

    简单的方法:

    我假设颜色在 RGB 格式中是已知的。

    因此,只需将 R、G、B 的每个值乘以一个因子即可改变亮度。

    示例:
    如果你有 R=12, G=40, B=128

    您可以将每个乘以 0.5 => R=6, G=20, B=64 以获得更暗的颜色版本。

    更复杂的方式:

    在其他颜色空间中转换您的颜色,该颜色空间具有单独的 lightness 组件,例如Lab color space。然后,您可以简单地更改 lightness,然后将结果转换回 RGB(如果需要)。

    【讨论】:

    • 我认为简单的方法行不通,因为您不知道需要与哪个数字相乘。每种颜色都需要不同的图形。
    • @mantaplatte:也许你是对的。但总体思路应该可行。此外,如何处理 0 值需要更多思考。
    【解决方案2】:

    使用适当的色彩空间。 HSV/HSL 使用饱和组件,cna 可以准确地实现您想要的。正如其他答案所暗示的那样,CIELab 现在被认为比旧的 HSV/HSL 更合适。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      • 2012-11-01
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多