我正在研究的这个算法的目标是从一些提供的颜色中输出一个颜色级数。我指的是在两种颜色(颜色a,颜色b)之间创建“淡入度”效果,并在这两种颜色之间存储每个颜色值(r,g,b)元组)。
例如,如果提供的是全黑A = (0,0,0)和全白B = (255,255,255),则进展结果为:
P = ((0,0,0),(1,1,1),(2,2,2), .... ,(253,253,253),(254,254,254),(255,255,255)
所以我们一开始会变成白色,然后逐渐变成黑色。当然,这是非常容易与白色和黑色(只是增加一个rgb每一步255倍)。但是,如果我想用两种任意颜色执行这个过程,比如a=(180,69,1)和b=(233153,0)呢?是吗?
重要提示:如果使用十六进制(或任何其他类型的颜色符号)更容易实现,我也可以使用它,只需指定哪种类型(考虑到我正在使用pil(python imaging library),所以如果它与此兼容,我就可以了)
显然它必须是一个尽可能均匀的分布,级数必须是齐次的。
我需要找出这个算法,这样我就可以在我的分形生成器中使用它(mandelbrot集,如果你想的话,可以用google搜索它),所以对于进程来说,尽可能的柔和,没有打嗝是很重要的。
提前谢谢。

最佳答案

将rgb坐标转换为hsl或hsv并单步执行,一路上转换回rgb。

08-18 20:21