每种颜色的25种颜色渐变

时间:2016-09-02 08:20:56

标签: vb.net algorithm colors transformation

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

2 个答案:

答案 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更合适。