計算機中的顏色V 快速計算顏色的色相值

2021-06-05 14:57:04 字數 1151 閱讀 6531

在之前的文章中,給定乙個顏色,它的色相值計算如下:

由公式可知,計算色相時要分為六種情況,計算略顯複雜。有沒有簡單的計算方法呢?來看看下面這個圖

上面這個圖,表示純色的色相分布,把純色分為六個部分。仔細觀察,每個部分的純色都有統一的特點,例如,右上角的部分,r=255,b=0,g從0變化到255。右邊的部分,g=255,b=0,r從255變化到0。每乙個部分都是乙個分量是255,乙個分量是0,乙個分量在0到255之間變化。

在仔細觀察以後,突然發現,任意一種純色(r,g,b)和紅色之間的夾角可以用下面公式表示:

θ=(|r-255|+|g-0|+|b-0|)/255×60

去掉絕對值符號後,簡化為

θ=(255-r+g+b)/255×60

這時,θ的取值範圍為 [0,180]。

再次觀察上面這個圖,發現右邊三個陰影部分的純色都有乙個共性,那就是分量g的值大於等於分量b的值,而左邊三個空白部分的純色也都有乙個共性,就是分量b的值大於等於分量g的值。

故任意乙個純色的色相值可以用下面公式表示

當g≥b時,h=(255-r+g+b)/255×60

當g<b時,h=360-(255-r+g+b)/255×60

通過演化推導,任意一種顏色(r』,g』,b』)的色相計算公式:

max為三個分量的最大值,min為三個分量的最小值

若max=min,表示灰度色,此時,h=0

若max≠min,分為兩種情況:

當g≥b時,h=(max-r』+g』-min+b』-min)/(max-min)×60

當g<b時,h=360-(max-r』+g』-min+b』-min)/(max-min)×60

注:補充兩個公式,在後文中要用到的

純色(r,g,b),和紅色的夾角

θ=(255-r+g+b)/255×60

和綠色的夾角

θ=(255+r-g+b)/255×60

和藍色的夾角

θ=(255+r+g-b)/255×60

萬倉一黍

出處:

計算機中的顏色I 顏色概述

無論是設計網頁還是編寫程式,乙個美觀的介面是必不可少的。仔細分析介面的構成,無外乎兩個因素 一是顏色 乙個是形狀。這個又被稱為ui設計。美術功底好的人,是能設計出讓人賞心悅目的介面來,欠缺美術功底的人,有時費盡心思也沒轍。這個系列的文章,專注於計算機的顏色表示。通過了解計算機的顏色表示,能有助於提高...

計算機中的顏色表示法RGB

顏色是我們對到達視網膜的各種頻率的光的感覺。我們的視網膜有三種顏色感光視錐細胞,負責接收不同頻率的光。這些感光器分類分別對應於紅 綠和藍三種顏色。人眼可以覺察的其他顏色都能由這三種顏色混合而成。在計算機中,顏色通常用rgb red green blue 值表示,這其實是三個數字,說明了每種原色的相對...

計算機中的顏色 從色相值到純色的快速計算

在上一文中,介紹了 如何快速計算顏色的色相值 本文介紹從色相值到純色的計算過程。之前已經介紹,色相值和純色有著一一對應的關係。先看看傳統的計算方法 從圖中計算的過程來看,還是比較繁瑣的,再看看之前的純色色相分布圖。從圖中找到規律,在圖中的右半部陰影部分,各個分量的變化如下所示 0 60 r 255 ...