近期做文章的时候想在两个RGB颜色之间找到N个过渡颜色,进行相应的曲线颜色填充。但是一直没有找到合适的程序,所以按照个人理解简单的写了一下。仅供各位参考,如果不当之处请指正。
原理:
1.两种[R1, G1, B1]、[R2, G2, B2]颜色对应三维RGB空间中的两个点;
2.两点坐标之差[R2-R1, G2-G1, B2-B1]即为一向量V;
3.通过将向量V分为N-1段,V/(N-1);
4.则颜色[R1, G1, B1]+(i-1)*V/(N-1)表示将两个颜色间分为N个过渡色的第i个颜色;
5.上式当i=1,即为[R1, G1, B1]。当i=N,即为[R2, G2, B2]。
计算过渡颜色子函数
%Matlab codes
%
function ResultColor=Transition_Two_Color(Color1,Color2,N)
%Transition_Two_Color()
% This function is used to calculate the linear transition color between two colors.
% The generated color gradually changes from the first color to the second color.
%Input:
% Color1,
% initial color, 1x3 matrix,RGB or HSV, such as [55,130,189]
% Color2,
% end color