我目前正在编码colorpicker并尝试创建一个函数 取3到0到255(RGB)之间的整数。
如果查看上面链接的图像,则可以看到中心有一个彩虹渐变。那里的所有RGB值至少包含一个为0的整数,一个为255的整数。另一个值可以是0到255之间的任何值。那么图像的左侧有一个正方形,其中包含所有“ sub- “彩虹色”的颜色。
该函数应采用该子颜色的RGB值(例如R = 112,G = 158,B = 73,这是一种绿色) 并让我得到彩虹色(R = 116,G = 255,B = 0,请注意255、0及其之间的值)。
我真的试图开发一种算法来为我解决这个问题,但是我只是对彩虹的颜色做出了粗略的估计。我知道,例如通过R = 19,G = 19,B = 18来获得彩虹色是不可能的,因为有很多包含这些值的彩虹色。但是应该有办法解决这个问题。
答案 0 :(得分:2)
该渐变对应于HSL / HSV color model中的颜色属性hue
或chroma
值。
因此,要构建所需的图片,您可以制作色相在0..360和最大饱和度范围内变化的渐变条。
用户选择色相值时,请使用相同的色相但所有可能的saturation
和luminance
值用颜色填充正方形。
链接的页面还提供了用于HSL-RGB(和向后)转换的公式。请注意,某些图形库和框架已经包含用于此类转换的功能。