【发布时间】:2011-10-13 14:08:10
【问题描述】:
我正在创建一个允许在以下颜色空间之间进行转换的库:
HSV、HLS、RGB、CMYK、十六进制
到目前为止,我已经实现了以下转换:
HSV -> HLS
HSV -> RGB
HSV -> CMYK (HSV -> RGB -> CMYK :: 见注)
RGB -> HSV
RGB -> HLS
RGB -> CMYK
RGB -> 十六进制
HLS -> RGB
HLS -> HSV
HLS -> CMYK (HLS -> RGB -> CMYK :: 见注)
CMYK -> RGB
CMYK -> HSV (CMYK -> RGB -> HSV :: 见注)
CMYK -> HLS (CMYK -> RGB -> HLS :: 见注)
注意: HSV 和 HSL 不能直接转换为 CMYK,因为它们不是绝对的色彩空间。他们需要 RGB 空间的元素,以便转换为 CMYK 是有意义的。 (CMYK color to HSV color directly)
现在,我必须实现所有 HEX 转换:
十六进制 RGB
十六进制 HSV
十六进制 HLS
十六进制 CMYK
HEX 和 RGB 之间的转换很简单,我已经实现了。困扰我的是 HEX HSV 和 HEX HLS 转换。 是否有将 HEX 转换为 HSV 和 HSL 的直接方法,还是必须使用 HEX -> RGB -> HSV/HLS?十六进制 CMYK 呢?
任何帮助将不胜感激。
【问题讨论】:
-
对此我不确定,但有人告诉我 HEX 只是 RGB 的另一种表示形式。如果是这种情况,那么上面的问题就可以自己回答了。