RGB 和 HSL 的轉換和應用

2021-10-25 09:54:35 字數 2434 閱讀 3043

一丶hsl

hsl即色相、飽和度、亮度(英語:hue, saturation, lightness)。

色相(h)是色彩的基本屬性,就是平常所說的顏色名稱,如紅色、黃色等,取0-360。

飽和度(s)是指色彩的純度,越高色彩越純,低則逐漸變灰,取0-100%(0-1)的數值。

明度(v),亮度(l),取0-100%(0-1)。

二丶rgb

光的三原色:紅綠藍,rgb這三種顏色的組合,幾乎能形成所有的顏色。所以顯示器使用這種原理去顯示影象。

rgb的取值範圍:r(0~255) g(0~255) b(0~255) 

16進製表示方式:#ff ff ff

三丶將rgb轉換成hsl

四丶將hsl轉換成rgb

五丶在遊戲開發中的應用(我自己用到的qaq)

①高亮顯示精靈

當滑鼠懸停於按鈕上的時候可以通過設定l改變亮度。

②精靈變色 通過shader去改變精靈色相 ,飽和度,明度。.

#ifdef gl_es

precision mediump float;

#endif

varying vec2 v_texcoord;

uniform float u_dh;//設定色相

uniform float u_ds;//設定飽和度

uniform float u_dl;//設定亮度

uniform float u_da;//設定透明度

RGB和HSL之間的轉換 C 實現

define min3v v1,v2,v3 v1 v2 v2 v3 v3 v2 v1 v3 v3 v2 define max3v v1,v2,v3 v1 v2 v2 v3 v3 v2 v1 v3 v3 v1 typedef struct color rgb typedef struct color ...

RGB和YUV的區別和轉換

rgb和yuv都是色彩空間,用於表示顏色,兩者可以相互轉化 至於電視採用yuv分量形式是由itu 國際電信聯盟 規定的,因為其能減少資料儲存空間和資料傳輸頻寬,同時又能非常方便的相容黑白電視!yuv是被歐洲電視系統所採用的一種顏色編碼方法 屬於pal 是pal和secam模擬彩色電視制式採用的顏色空...

RGB和HSV顏色轉換

分類 影象處理 2008 07 21 21 50 2979人閱讀收藏 舉報integer 演算法工具 c360 h引數表示色彩資訊,即所處的光譜顏色的位置。該引數用一角度量來表示,紅 綠 藍分別相隔120度。互補色分別相差180度。純度s為一比例值,範圍從0到1,它表示成所選顏色的純度和該顏色最大的...