计算机中的颜色VIII——快速计算颜色的偏转

  在“计算机中的颜色VII——快速计算纯色的偏转”中介绍了纯色的偏转。

  本文对上文的公式进行扩展,扩展到任意的颜色。

  颜色(R,G,B)偏转ω后,如何计算偏转颜色(R’,G’,B’)

  具体的推导过程不详述了,和前文类似。下面介绍计算过程:

  令MAX为R、G、B三个分量的最大值,MIN为R、G、B三个分量的最小值

  若MAX=MIN,则颜色为灰度色,无论怎么偏转,还是原来的颜色。

    R’=R;G’=G;B’=B

  若MAX≠MIN,令ρ=MAX-MIN

    当G<B时,ω=-ω

    ω’=ω/60×ρ

    λ’=MAX-R+G-MIN+B-MIN+ω’

    当λ’<0时,令λ’’=-λ’

    当λ’>3ρ时,令λ’’=6ρ-λ’

    否则λ’’=λ’

    偏转纯色的分量

      R’=2ρ-λ’’;若R’<0,则R’=0;若R’>ρ,则R’=ρ;

      G’=λ’’;若G’>ρ,则G’=ρ;

      B’=λ’’-2ρ;若B’<0;则B’=0;

    若(G<B)XOR(λ’<0或λ’>3ρ)=True时,交换G’,B’分量的值

  最后

    R’=R’+MIN

    G’=G’+MIN

    B’=B’+MIN

  

  (120,44,20)顺时针偏转133得到什么颜色呢?答案是(20,120,66)

  (120,44,20)逆时针偏转133得到什么颜色呢?答案是(22,20,120)


作者: 万仓一黍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值