2011-10-13 130 views
2

我創建一個庫,允許下列顏色空間之間的轉換:顏色轉換

HSV,HLS,RGB,CMYK,HEX

到現在爲止,我有以下的轉換來實現:

HSV - > HLS

HSV - > RGB

HSV - > CMYK (HSV - > RGB - > CMYK ::看到NB)

RGB - > HSV

RGB - > HLS

RGB - > CMYK

RGB - > HEX

HLS - > RGB

HLS - > HSV

HLS - > CMYK (HLS - > RGB - > CMYK ::看到NB)

CMYK - > RGB

CMYK - > HSV (CMYK - > RGB - > HSV ::看到NB)

CMYK - > HLS ( CMYK - > RGB - > HLS ::看到NB)

注: HSV和HSL不能直接轉換爲CMYK,因爲他們沒有絕對的色彩空間。它們需要RGB空間的元素,以便轉換爲CMYK是有意義的。眼下(CMYK color to HSV color directly

,我要實現所有的十六進制轉換:

HEX < - > RGB

HEX < - > HSV

HEX < - > HLS

HEX < - > CMYK

HEX和RGB之間的轉換i很簡單,我已經實施了。困擾我的是HEX < - > HSV和HEX < - > HLS轉換。 有沒有直接的方法將HEX轉換爲HSV和HSL,還是我必須使用HEX - > RGB - > HSV/HLS?怎麼樣HEX < - > CMYK?

任何幫助將不勝感激。

+1

我不知道這一點,但有人告訴我HEX只是RGB的另一種表示形式。如果是這樣的話,那麼上面的問題就回答了。 –

回答

1

通常,HEX值只是將每個單獨通道值連接在一起的HEX表示。如果你所有的顏色都是由8位表示,您正在尋找可以在HTML中使用它會是這樣一個十六進制表示:

 
Color 8 bit   HEX value 
--------------------------------- 
RGB 255,128,0  FF8000 
CMYK 255,128,255,128 FF80FF80