CSS 颜色是否预乘?

And*_*eKR 5 html css colors

Chrome 中的实验表明rgba()颜色被解释为非预乘 alpha。(我没有尝试过#RRGGBBAA颜色,因为 Chrome 默认不支持颜色。)

有这方面的官方规范吗?

mer*_*tor 2

如果 CSS 使用预乘 alpha,则意味着例如rgb(255, 0, 0)50% 的不透明度必须为rgba(127.5, 0, 0, 0.5). 并且rgba(255, 0, 0, 0.5)会无效。

最新版本的规范提到了rgbrgba

前三个参数分别指定颜色的红色、绿色和蓝色通道。0% 表示 sRGB 色域中该颜色通道的最小值,100% 表示最大值。A 相当于 a ,但范围不同:0 再次表示颜色通道的最小值,但 255 表示最大值。

这定义了非预乘值。如果值是或可能是预乘的,则必须根据 alpha 值说明有关最大值的信息。

k2snowman69链接到的CSS3 规范并不那么具体,但同样没有提及任何有关取决于 alpha 值的 RGB 值,并且包含如果预乘则无效的示例。

我认为 API 永远不会使用预乘 alpha,除非这些 API 预计能够处理已经以某种方式部分处理的图像数据,例如在图像处理库中。预乘 Alpha 通道是为了简化颜色混合计算。这并不是真正能帮助最终用户的东西。