在使用 javascript 幻灯片时,我们在所有版本的 Internet Explorer 浏览器中都有以下奇怪的(嗯...)行为。
你可以在这里看到我的意思http://www.tospirto.net/index.php?ID=photo_gallery&Rec_ID=481
在最后 3 张图像中,有浏览器创建的白线和伪影。
正如我对所有版本的 Internet Explorer 所说的那样,这是正确的。
你以前见过这个吗?
你知道是什么原因造成的吗???
谢谢
在使用 javascript 幻灯片时,我们在所有版本的 Internet Explorer 浏览器中都有以下奇怪的(嗯...)行为。
你可以在这里看到我的意思http://www.tospirto.net/index.php?ID=photo_gallery&Rec_ID=481
在最后 3 张图像中,有浏览器创建的白线和伪影。
正如我对所有版本的 Internet Explorer 所说的那样,这是正确的。
你以前见过这个吗?
你知道是什么原因造成的吗???
谢谢
我可以看到文物 - 奇怪!这是 IE 的 JPEG 渲染算法中的一个已知问题。如果您在 Photoshop 中放大图片,您会看到伪影被限制在编码块内。(请原谅,但我假设您大致了解 JPEG 的编码方式。)
尝试以不同的质量或什至以不同的格式(例如 PNG,尽管这会给您提供更大的文件)对图像进行编码。您可以在此处找到有关如何解决此问题的其他想法:http: //forum.jquery.com/topic/ie-dead-pixels-when-fading-images
这是过滤器中的一个错误alpha
,这就是在 IE 中实现透明淡入淡出的方式(在版本 9 之前,最终支持正确的 CSS opacity
)。当直接在图像上使用时,任何具有 RGB 值 2,5,10 (aka #02050A
) 的像素都被视为透明的。
这就是例如 1 位透明度的方式。GIF 在alpha
过滤器中实现。显然,微软认为这种特殊的颜色很少使用,没有人会注意到。哎呀。
通过将alpha
过滤器(或使用它的淡化脚本)放在容器<div>
上而不是图像本身上来避免错误。
或者,您可以使用过滤器(与在 IE6 上加载透明 PNG 相同的技巧)来加载图像,或者当您不在淡入淡出中间时AlphaImageLoader
去掉过滤器(您仍然会在淡入淡出期间看到错误,但是alpha
至少它不会以 100% 出现)。
好的,经过一番搜索,我发现了问题所在。
该效果被称为瑞士军队图像伪影,您可以在此处找到更多信息:http ://www.dynamicdrive.com/forums/showthread.php?t=34462
探险家的另一个大错误:)
解决方案在参考文章中,例如使用 Photoshop 上的色阶工具去除绝对黑色。使用 Photoshop 中的操作对所有图片进行了批量更改,并且效果很好。