【问题标题】:Calculate RGB Values计算 RGB 值
【发布时间】:2018-07-11 07:34:33
【问题描述】:

我目前正在编写colorpicker 并尝试创建一个函数 取 3 个 0 到 255 (RGB) 之间的整数。

如果您查看上面链接的图像,您可以看到中心有一个彩虹渐变。那里的所有 RGB 值至少包含一个 0 和一个 255 的整数。另一个可以是 0 到 255 之间的任何值。然后在图像的左侧有一个正方形,其中包含所有“子-这个“彩虹色”的颜色”。

函数应该取这个子颜色的RGB值(例如R = 112,G = 158,B = 73,这是一种绿色) 给我彩虹色(R = 116, G = 255, B = 0 注意 255, 0 和两者之间的值)。

我真的试图开发一种算法来为我解决这个问题,但我只是对彩虹色进行了非常粗略的估计。我知道不可能通过 R = 19、G = 19、B = 18 获得彩虹色,因为有很多彩虹色包含这些值。但是应该有办法解决这个问题。

【问题讨论】:

    标签: algorithm colors color-picker


    【解决方案1】:

    该渐变对应于 HSL/HSV color model 中的颜色属性 huechroma 值。

    因此,要构建所需的图片,您可以制作色调在 0..360 和最大饱和度范围内变化的渐变条。

    当用户选择色调值时,使用相同色调但所有可能的saturationluminance 值填充一个正方形。

    链接页面还提供了 HSL-RGB(和反向)转换的公式。请注意,某些图形库和框架已经包含用于此类转换的函数。

    【讨论】:

    • 是的,行得通!我将 RGB 转换为 HSL 并保持色调,将饱和度设置为最大值,将亮度设置为中间。非常好的解决方案。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 2014-01-14
    相关资源
    最近更新 更多