JavaScriptスライドショーを使用するときの画像上のインターネットエクスプローラーの不要なアーティファクト
-
04-10-2019 - |
質問
JavaScriptスライドショーを使用する際に、インターネットエクスプローラーブラウザーのすべてのバージョンで、次の奇妙な(まあ...)動作があります。
あなたは私がここで何を意味するかを見ることができます http://www.tospirto.net/index.php?id=photo_gallery&rec_id=481
最後の3つの画像には、ブラウザによって作成された白い線とアーティファクトがあります。
これは、Internet Explorerのすべてのバージョンについて言ったように真実です。
これを見たことがありますか?
何がこれを引き起こしているのですか?
ありがとうございました
解決 3
OK、検索の後に何が間違っていたかを見つけました。
効果はスイス軍の画像アーティファクトと呼ばれ、こちらについて詳しく知ることができます。 http://www.dynamicdrive.com/forums/showthread.php?t=34462
探検家からの別の素晴らしいバグ:)
解決策は、たとえばPhotoshopのレベルツールを使用して絶対黒人を削除することである参照記事にあります。すべての写真のPhotoshopでアクションを使用してバッチが変更され、魅力のように機能しました。
他のヒント
私はアーティファクトを見ることができます - 奇妙です!これは、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のピクセル(別名 #02050A
)透明として扱われます。
これは、例えば1ビットの透明性です。 GIFはに実装されています alpha
フィルター。明らかに、Microsoftはこの特定の色がめったに使用されないと考えています。おっと。
パットしてバグを避けてください alpha
コンテナの上にフィルター(またはそれを使用するフェードスクリプト) <div>
画像自体の代わりに。
または、ANを使用できます AlphaImageLoader
フィルター(IE6での透明なPNGロードと同じハック)画像をロードするか、ただ取り除く alpha
フェードの真ん中にいないときはフィルター(フェード中にバグが表示されますが、少なくとも100%で表示されません)。