IE9では大きな画像を縮小表示させるとジャギーが発生しますが、何か対策は存在しますか。

Webページで大きい画像を無理矢理WidthやHeightを指定して縮小表示すると、Webブラウザによってはジャギーが発生し画像がギザギザで汚くなってしまいます。

これは画像縮小の処理方法により発生するもので、ニアレストネイバー法で処理されていればジャギーが発生しやすく、バイキュービック法やバイリニア法で処理されていれば比較的綺麗な縮小画像の表示が可能になります。

例えばIE6では画像縮小をニアレストネイバー法でのみ処理しているため、どのようなCSS定義をしても問題回避できません。

しかしIE7では、ms-interpolation-modeをCSSで指定することが可能になっており、以下のようにバイキュービック法を強制することができます。

img { -ms-interpolation-mode: bicubic; }

これで縮小画像の表示がバイキュービック形式の縮小になりますので、かなり大きな画像を縮小表示させてもジャギーはほとんど発生しません。

IE8ではこの指定が規定値となっており、CSSで上記の定義をする必要もありません。

ところがIE9でこの機能がデグレードしています。そもそも、IE9やIE10(beta)では、ms-interpolation-modeを指定することができません。
ニアレストネイバー法なのか、バイキュービック法なのかは、ブラウザ自体が自動判定により指定しているようです。
実際に大きな画像を縮小表示させてみるとほとんど全てのケースで、バイキュービック法は採用されません。
画像の縮小率が50%程度くらいまでなら、ジャギーを発生させずに綺麗な縮小表示がされますが、縮小率が大きい場合はIE6の頃のような品質の画像表示しかできません。

この問題については、各国で多くの人が議論しているようですが、結局のところ元の画像を事前にある程度小さく作成しておかねば対応できないという結論になっているようです。

このIE9の実装は、非常に使い勝手が悪い仕様であると思われますが、何か対策方法は存在するのでしょうか?

(1)何故、このような実装になっているのでしょうか?(画像表示のための処理速度優先のため処理負荷の大きいバイキュービック法を避けているのでしょうか。)

(2)何らかの隠しコマンドのようなCSS定義やHTML独自タグなどで問題回避することはできないのでしょうか?

(3)IE10など将来のバージョンで、IE8の頃のように規定値でバイキュービック法を採用してくれるような実装になる見込みはあるのでしょうか?


以上、ご質問させて頂きます。



 

質問情報


最終更新日 2020年1月14日 表示 20,269 適用先:

関連するフォーラム


回答
回答
3arrows さん、こんにちは。
Answers への投稿、ありがとうございます。

大きな画像を縮小表示させた時の Internet Explorer (IE) 9 の表示についてですね。

調べてみたところ、Microsoft Connect に同様のフィードバックが投稿されていました。

Image scaling algorithm regressed to bilinear (英語のページですので、bing Translator などをご活用ください。)

回避するための CSS や HTML についての情報は見つかりませんでした。
もしなにか情報をお持ちの方がいらっしゃいましたら、アドバイスをよろしくお願いします。

IE 10 については、こちらのスレッドとは別に IE のバージョン「IE 10 Release Preview」を選択して新しくスレッドを作成し、フィードバックの要望を投稿してみるのも良いかもしれませんね。
津森 美緒 – Microsoft Support
問題が未解決の場合は、その旨お知らせください。引き続き、解決に向けて手助けをさせていただきます。
問題の解決に役立った場合は、その返信を回答としてマークしてください。

この回答は 1 人の役に立ちました

·

この回答で問題は解決しましたか?

役に立ちませんでした。

回答としてマークしていただきありがとうございます。

この返信の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。今後のサイト改善に役立てて参ります。

この回答の満足度をお教えください。

フィードバックをお送りいただきありがとうございます。