控制具有开始和结束颜色的颜色分级的最佳方法是什么?使用RGB还是HSV?
E.g
step = 1/nrColors;
currStep = 0;
for i = 1:nrColors
p = sigmoid(currStep);
R = start.R * p + end.R * (1-p)
G = ...
B = ...
currStep = currStep + step ;
end
或
H = start.H * p + end.R * (1-p)
S = ...
V = ...
如果不是上述两种情况,我可以实现良好的转换(颜色彼此太紧,或者从人类的角度来看颜色不是很平滑)。
我在哪里可以找到关于这个主题的好参考?
最佳,
答案 0 :(得分:1)
理论上,如果您在“Lab”色彩空间中进行插值,您将获得与人类感知的最佳匹配:
http://en.wikipedia.org/wiki/CIELAB
此外,如果要设置颜色过渡动画,则可以使用S形插值,但如果要显示一系列样本,这些样本可以从一种颜色平滑地插入到另一种颜色中(这听起来就像是你说的那样)彼此太紧了),那么你可能只想线性插值。否则,开始和结束颜色将非常相似,中间的颜色会更加分散。