在 iPhone/iPad 上的 Safari 中缩放时 Alpha 通道 PNG 上出现垂直条纹
在 iPhone/iPad 上的 Safari 中,当我用两根手指缩放包含带有 Alpha 通道的 PNG 的网页时,在某些缩放级别上会出现明显的渲染错误(垂直条纹)。
有谁知道这个问题的解决方法?
In Safari on iPhone/iPad, when I use two fingers to zoom webpages that have PNGs with an alpha channel, there are obvious renderings errors (vertical stripes) at certain zoom levels.
Does anyone know workarounds for this?
Original: http://i56.tinypic.com/2m47o8n.png
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这似乎是当图像稍微放大时(当其在设备上的渲染尺寸略大于原始图像的尺寸时)时发生的采样伪影。推测是渲染引擎中的错误。
解决方法是从图像中删除 Alpha 通道(所有像素都不透明是不够的;它实际上必须是没有 Alpha 通道的 PNG)。我还没有找到保持透明度的解决方法。
This seems to be a sampling artifact which occurs when the image is scaled just slightly up (when its rendered dimensions on the device are slightly larger than the original image's dimensions). Presumably a bug in the rendering engine.
A workaround is to remove the alpha channel from the image (it's not sufficient for all your pixels to be opaque; it actually has to be a PNG without alpha channel). I've not yet been able to find a workaround which preserves transparency.
这是灰度 PNG 格式暴露的 Safari 错误。您可以通过将图像转换为调色板或 24 位 RGB 来避免这种情况。
我已经有一段时间没有看到这个错误了,所以我认为它已经在当前的 iOS 版本中得到修复。
That's a Safari bug exposed by grayscale PNG format. You can avoid it by converting the image to paletted or 24-bit RGB.
I haven't seen this bug for a while, so I think it has been fixed in current iOS versions.