程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 計算機中的顏色VIII—快速計算顏色的偏轉

計算機中的顏色VIII—快速計算顏色的偏轉

編輯:VB綜合教程
 

在“計算機中的顏色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)
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved