MATLAB如何根据两个颜色(RGB值)产生任意多个中间的过渡色?

近期做文章的时候想在两个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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值