7

1675px x 2640px の画像を含む HTML ページがあります。iPad で表示してみましたが、どうやらモバイル サファリが画像をダウンサンプリングしているようです。高品質の画像を表示したかったのですが、サファリではこれが制限されています。

画像サイズを保持するソリューションを探していました。モバイルサファリのiPad 3で見ています。人々は別のブラウザーを使用することを提案していますが、デフォルトではモバイル サファリを使用しています。

この制限に対する CSS、JavaScript、またはその他の解決策はありますか?

4

3 に答える 3

3

きっとこの答えを気に入っていただけると思いますが、短い答えは「1:1 の大きなサイズの画像を取得するつもりはない」のようです。

少し長い答えは、以前はイメージをまったくロードしないか、クラッシュするだけだったので、Apple が意図的にこの方法で動作するように強制しているということです。

さて、引用付きのより完全な回答について...

Apple の既知のリソースの制限

問題は、画像がデコード/解凍されると、画像のファイルサイズよりもはるかに多くのRAMスペースを占有することです。Appleが述べている式は、あなたが言及したipad 3のような512mbのRAMを搭載したデバイスは、5メガピクセルを超える非JPEG画像を拒否するということです。その結果、次のようになります。

height * width <= 5 * 1024*1024

JPEG の場合、Apple は、JPEG を表示できるようにサブサンプリングすると述べています。

JPEG の最大デコード イメージ サイズは、サブサンプリングを使用して 32 メガピクセルです。サブサンプリングにより、JPEG 画像は最大 32 メガピクセルになる可能性があります。これにより、JPEG 画像は、ピクセル数の 16 分の 1 のサイズにデコードできます。2 メガピクセルを超える JPEG 画像はサブサンプリングされます。つまり、縮小サイズにデコードされます。JPEG サブサンプリングにより、ユーザーは最新のデジタル カメラからの画像を表示できます。

2メガピクセルがJPEGのフルサイズ表示の制限であると述べていることに注意してください。これは2 * 1024 * 1024です。画像はおおよそ 4 メガピクセルを少し超えるため、iPad 3 ではサブサンプリングされます。外部プログラムを使用せずにそれを強制するためにできることは実際には何もありません。

最小限の改善のために外部プログラムを使用するには、ある人が GoodReader を推奨している次のリンクを参照してください: Apple フォーラム、MiniSfari でフル イメージ解像度を求める

そして、同様の質問と回答のペアを持つ別の Stackoverflow があります: Mobile Safari での画像サイズの制限

于 2013-03-21T08:18:20.207 に答える
3

Mobile Safari は、プログレッシブJPEGをダウンサンプリングしません。JPEG が目的に適した形式であると仮定すると、単純にそれらをプログレッシブ エンコーディングに変換します。既存の非プログレッシブ JPEG 画像があると仮定するとjpegtran、エンコーディングをロスレスでプログレッシブ スキャンに変換するツールなどを使用できます。

于 2013-04-30T04:42:10.880 に答える
1

iPad Retina および iPhone 4 / 5 の Retina 機能を楽しむには、次のように 2 倍のサイズの画像を使用します。

<img src="test.jpg" width="837" height="1320" />

サイズは半分に縮小されていますが、test.jpg のサイズを変更する必要はありません。

または、高解像度グラフィックスの別のセットを準備し、メディア クエリ ( Modernizr ) を使用して Retina スクリーンが検出されたときに表示することもできます。

ピクセル密度理論: Retina スクリーンは、2 ピクセルを 1 ピクセルにします。たとえば、320px幅があると、実際には640pxコンテンツが含まれます。詳細はこちら: http://www.sitepoint.com/css-techniques-for-retina-displays/

于 2013-03-21T08:05:00.247 に答える