为什么同样的八个字符的十六进制代码在不同的软件中显示的颜色不同?

who*_*sit 18 colors visual-studio-code

我想从Visual\xc2\xa0Studio配色方案中选取颜色#FFEAF0FF到Visual Studio Code

\n
\n

具有十六进制颜色代码的三个色样的屏幕截图; 提到的显示为浅蓝色

\n
\n

但是当我将这个十六进制代码放入 Visual Studio Code 中时,它变成了不同的颜色:

\n
\n

显示浅粉色的 Visual Studio Code 配置屏幕截图

\n
\n

它们是完全不同的颜色(浅蓝色与浅粉色),那么如何让#FFEAF0FF以六位格式显示正确的颜色?

\n

Spi*_*iff 59

剥掉领先的 FF。

无论你从哪里获得 8 十六进制数字颜色(我猜是 Android 应用程序?),似乎都在使用“ARGB”配色方案,其中第一对十六进制数字代表“alpha 通道”(基本上是不透明度值)。

传统的 Web 十六进制颜色仅使用 6 十六进制数字 RGB,但大约 4 年前,浏览器开始支持“RGBA”格式的 8 十六进制数字颜色代码。与 Android 的“ARGB”不同,新兴网络标准使用“RGBA”格式将 alpha 通道放在颜色代码尾部更兼容的位置(我不确定为什么 Android 选择 ARGB 而不是 RGBA)。8 十六进制数字 RGBA 网页颜色代码正在标准化,作为“CSS 颜色模块,级别 4”的一部分。

  • 8 位十六进制数字也是有效的网页颜色 (CSS),但它是 RRGGBBAA。 (24认同)
  • @JW0914 你搞反了。OP 想要浅蓝色,但得到了粉红色,因为他来自使用 ARGB 的工具,并转到使用 RGB[A] 的工具。问题在于领先的 FF,而不是落后的 FF。 (8认同)
  • 很好的答案!这个 [Stack Overflow 答案](/sf/answers/483695481/) 基本上是相同的,但有更多细节。 (3认同)
  • 请注意,早在浏览器支持#RGBA 之前,大多数图形编辑工具就开始支持#RGBA。浏览器实现了#RGBA,因为它是事实上的标准 (3认同)
  • #AARRGGBB 有意义,因为您可以将数字解析为 32 位数字,然后仅查看低 3 个字节/低 24 位来获取 RGB 值。RGB 值最终位于与 #RRGGBB 相同的位位置。当选项为 #RRGGBBAA 和 #RRGGBB 时,低字节在一个中为 BB,在另一个中为 AA。(虽然我想如果 AA=00 是正常的非透明颜色而不是相反,那就更有意义了。然后你可以将 #RRGGBB 与 #00RRGGBB 完全一样对待。好吧,我可能想念某事,但无论如何。) (2认同)