在我的程序中,用户可以选择一种颜色,然后我必须从该颜色生成25个渐变。是否有任何功能可以使用或某人有想法如何做到这一点?第一种颜色必须是白色,第25种颜色真的很暗。 谢谢:))
答案 0 :(得分:1)
简单方法:
我认为颜色以RGB格式已知。
因此,简单地将R,G,B的每个值乘以一个因子来改变亮度。
实施例
如果你有R = 12,G = 40,B = 128
你可以将每个乘以0.5 => R = 6,G = 20,B = 64,以获得更暗的颜色版本。
更复杂的方式:
在另一个颜色空间中转换颜色,该颜色空间具有亮度的单独组件,例如Lab color space。您只需更改亮度,然后将结果转换回RGB(如果需要)。
答案 1 :(得分:0)
使用合适的色彩空间。 HSV / HSL使用饱和度组件,cna可以准确地实现您的需求。正如其他答案所示,CIELab现在被认为比旧的HSV / HSL更合适。