我在所有 IE 中都注意到了这个问题——6、7、8。一些 PNG 图像在透明区域周围会有黑色轮廓。原来我必须打开 Gimp(我的免费跨平台图像编辑器),打开有问题的 PNG,然后使用 150% 上的模糊选择工具重新选择透明区域,然后单击删除。然后重新保存。这通常可以解决大约 98% 的透明区域中 PNG 周围的斑点。
如果这不起作用,则在 Gimp 中重新加载,将背景设置为白色,选择拼合图像,将模糊选择阈值设置为 3%,选择要删除的背景,选择删除(清除),然后再次重新选择背景阈值为 150%,删除,然后重新保存图像。
注意我的模糊选择工具,我的 Gimp 设置是选中抗锯齿,取消选中羽化边缘,选中选择透明区域,取消选中样本合并,然后按合成选择。
是的,这似乎是一个带有透明背景的 PNG 图像的 IE 错误。其他浏览器——Opera、Safari、Firefox、Chrome——都没有这个问题。我怀疑某些图像程序将透明度设置为 50% 作为边缘上某种抗锯齿的一部分,因为只有边缘有问题。我认为非 IE 浏览器处理像素上 50% 的透明度,但 IE 可能只能理解像素上的 100% 透明度——只是一种预感。