去除透明PNG上的斑点,在IE中以额外的不透明度过滤

时间:2008-09-22 04:41:39

标签: internet-explorer cross-browser png transparency

我使用Javascript和CSS创建了一个旋转图像推子来显示图像并将其卸载。我想使用透明的PNG,我没想到或关心它们在IE 6中看起来不错,但IE 7和8对它们的处理方式同样不尊重。 Firefox和其他现代浏览器看起来很棒。
每张带有image.filter = alpha(opacity=xxx)的图片看起来都有一些透明度有一些剩余的噪音,可能来自压缩等等,无论我对图片做什么,还有一些东西存在。

我已经通过将JPG放在白色背景上并使用GIF来完成变通办法。
也有人可以告诉我,这实际上是IE中的错误吗?

<小时/> 如果你需要一个例子,请告诉我,我会做一个

2 个答案:

答案 0 :(得分:1)

你必须在'不透明度'中使用'finishopacity'才能在整个画面中获得不透明度。

顺便说一句,透明度在IE 6中也不是那么好用。我使用Bob Osola的JavaScript修复程序,效果很好!

http://homepage.ntlworld.com/bobosola/

答案 1 :(得分:1)

我有同样的问题 - 所有IE都会失败,但Firefox和所有其他浏览器都不会有问题。

我修复它的方法是在Gimp中打开PNG,选择模糊选择工具,将阈值设置为150%,选中抗锯齿,取消选中羽毛边缘,选中选择透明区域。接下来,我点击了透明区域 - 我在图像上找到的所有区域,然后单击“删除”键(表示“清除”)。然后,我再次重新保存图像。这解决了所有Internet Exploders中大多数图像的问题大约98%。

但是,我想稍微注意一下这个指示。如果选择模糊选择并最终选择多于上一个透明区域,则设置为3%,模糊选择,单击删除,然后再次使用模糊选择重新选择150%,然后单击删除,应该解决它而不删除你的任何形象。

如果你没有Gimp,那么对于Windows,Mac和Linux来说,它是跨平台的,免费的。