gpt4 book ai didi

c# - 颜色空间之间的颜色转换

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:25 24 4
gpt4 key购买 nike

我正在创建一个允许在以下颜色空间之间进行转换的库:

HSV、HLS、RGB、CMYK、十六进制

到目前为止,我实现了以下转换:

HSV -> HLS

HSV -> RGB

HSV -> CMYK (HSV -> RGB -> CMYK::见 NB)

RGB -> HSV

RGB -> HLS

RGB -> 三色

RGB -> 十六进制

高光 -> RGB

HLS -> 单纯疱疹病毒

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

十六进制 <-> 单纯疱疹病毒

十六进制 <-> HLS

十六进制 <-> 三色

HEX 和 RGB 之间的转换很简单,我已经实现了。困扰我的是 HEX <-> HSV 和 HEX <-> HLS 转换。 是否有将 HEX 转换为 HSV 和 HSL 的直接方法,还是我必须使用 HEX -> RGB -> HSV/HLS? HEX <-> CMYK 怎么样?

如有任何帮助,我们将不胜感激。

最佳答案

通常,HEX 值只是将每个单独 channel 的值连接在一起的 HEX 表示。如果您所有的颜色都由 8 位表示,并且您正在寻找可以在 HTML 中使用的 HEX 表示形式,它将是这样的:

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

关于c# - 颜色空间之间的颜色转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7755399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com