gpt4 book ai didi

css - 如何将十六进制颜色转换为十六进制黑白?

转载 作者:行者123 更新时间:2023-11-28 09:49:54 24 4
gpt4 key购买 nike

我可以使用像 GIMP 这样的程序来解决这个问题,但我认为手动计算会更容易,前提是我知道怎么做。

如果我说:

#FF0000 (red)

我如何将其转换为十六进制的黑白等效值。

一种猜测是取每个 RGB 值的平均值,然后应用于每个颜色空间。

所以

(0xff + 0x00 + 0x00) / 3 = 255 / 3 = 85 = 0x55

会来

#555555

这是正确的吗?这只是一个猜测。

最佳答案

转换为 Y'UV ,并且采用 Y' 分量将是 RGB 值的灰度值的更准确表示。我知道压缩高清 (720p) 分辨率视频和全高清 (1080p) 分辨率视频之间的视频压缩转换公式不同。因此,转换为灰度并不是一件容易的事。似乎有一些人为因素决定了灰色全亮红色的程度。

无论如何,假设 col 是您的初始颜色值,您正在寻找的公式是这样的:

(((((((col >> 16) & 0xff)*76) + (((col >> 8) & 0xff)*150) +
((col & 0xff)*29)) >> 8)) << 16) |

(((((((col >> 16) & 0xff)*76) + (((col >> 8) & 0xff)*150) +
((col & 0xff)*29)) >> 8)) << 8) |

((((((col >> 16) & 0xff)*76) + (((col >> 8) & 0xff)*150) +
((col & 0xff)*29)) >> 8))

顺便说一下,你的#FF0000 使用这个公式得出的结果是#4B4B4B。

关于css - 如何将十六进制颜色转换为十六进制黑白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16858811/

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