4

我试图编写一些颜色操作代码并在 alpha 上停留了很长时间,然后我(2 小时后)意识到浏览器渲染 rgba 的方式不同。

我创建了这个测试:http: //jsbin.com/adekez/2/ 添加/编辑查看代码

以下是 OSX Lion 中 4 个浏览器的结果:http: //imgur.com/g2iqu

这是一个在白色之上具有 rgba(0,0,0,0.5) 背景的元素。

我的十六进制计算器说:FF÷2 = 7F.8 这意味着

#808080 的 Safari 是正确的 Firefox 在 #7F7F7F 已关闭 1 Opera 在 #7E7E7E 已关闭 2 Chrome 在 #929292 已关闭

这是怎么回事,这是 Chrome 中的错误还是我只是不知道颜色(真的)?

4

2 回答 2

1

首先关闭

好吧,实际上 SafariFirefox 都是正确的: 0xFF = 255, 255 / 2 = 127.5. 所以128可能是正确的 ( 0x80),但也是127( 0x7F) - 取决于浏览器的舍入约定。

问题的解释

这些都是四舍五入的问题。我不太明白为什么会有舍入问题,因为 0.5 可以用二进制数表示而没有精度损失,但实际上存在舍入问题:

歌剧: 歌剧截图

铬合金: 铬截图

于 2012-03-05T17:57:20.483 回答
0

当我签入 chrome 和 safari 时,但我得到了完全相同的 rgba 颜色 #808080。让我们知道您使用的是哪个浏览器版本。

rgba alpha值问题

于 2012-02-21T05:25:25.567 回答