2013-03-21 8 views
7

1675x26440ピクセルのHTMLページがあります。私はiPadでそれを見てみました、明らかにモバイルサファリは、画像をダウンサンプリングします。私たちは高品質の画像を見せたいと思っていましたが、サファリはこれを制限しています。モバイルサファリは大きな画像をダウンサンプリングします。保持する方法?

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

この制限には、CSS、JavaScriptなどのソリューションがありますか? 、使用をiPadの網膜およびiPhone 4月5日の網膜の機能を楽しむことが

+0

あなたのHTMLページへのリンクを教えていただけますか? – kyooriouskoala

答えて

3

私はあなたがこの答えを愛していると確信していますが、短い答えは "あなたは1:1の大きさの画像を得られません"と思われます。

もう少し答えがあるのは、アップルが意図的にこのように動作させるということです。なぜなら、動作する前に画像を一切ロードせずにクラッシュするからです。引用と充実した答えを今

、...

Apple's Known Resoruces Limits

画像を復号したときのものは、ある/それは画像より多くのRAM空間の全体一体を占めて解凍ファイルサイズ。彼らができるようにサブサンプリングされますJPEG、Appleのノートについて

height * width <= 5 * 1024*1024 

:Appleは述べ式は、あなたが言及iPadの3のように、512MBのRAMを持つデバイスは、その結果5メガピクセル以上の非JPEG画像を、拒否するということですJPEGを表示するには:

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

2メガピクセルは、JPEGのフルサイズの表示には2 * 1024 * 1024の制限があることに注意してください。あなたのイメージはおよそ4メガピクセルを少し上回っているので、それはiPad 3でサブサンプリングされます。そして、いいえ、あなたが外部のプログラムを使わなくてもそれを強制することは本当にありません。

人はGoodReaderのをお勧めしますこのリンクを参照、最小限の改善のための外部プログラムを使用するには:Apple Forum, Seeking Full Image Resolution in MiniSfari

そして、ここでは別のstackoverflowのは、同様の質問/回答のペアであるが:Image Size Limitations in Mobile Safari

1

は、次のようにサイズの画像を倍増:

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

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

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

画素密度理論使用:網膜画面は、1つの画素に2つの画素を置きますたとえば320pxの幅では、実際には640pxの内容を含んでいます。もっと読む:http://www.sitepoint.com/css-techniques-for-retina-displays/

3

Mobile Safari does not downsample progressive JPEGs.はJPEGであると仮定すると、あなたの目的に合ったフォーマットであれば、プログレッシブエンコーディングに変換するだけです。既存の非プログレッシブJPEG画像があると仮定すると、jpegtranなどのツールを使用して、エンコードをプログレッシブスキャンに無損失で変換することができます。

+0

しかし、イメージが非常に大きい場合、その原因は読み込みエラーです。 2804x1869、 ダウンサンプリングせずにロードされたベースラインJPEG最大 - - 1774x1182、 最大のダウンサンプリングでベースラインJPEGをロード - 10816x7210(1352x746にダウンサンプリング) 最大のロードされたプログレッシブJPEG:縦横幅/高さ= 1.5の場合 は、私は次の値を得ました。 256GバイトのiPhone 3GSで値が取得されました。 iOS 5.1.1。 – Enyby

+0

@Enyby - ブラウザにはメモリ制限があります。大量の画像を読み込んだときに、デスクトップクラスのブラウザでもメモリが不足している可能性があります。この日と年齢では256MBはあまり多くありません。 – Unsigned

関連する問題