2011-11-10 16 views
7

私はphonegapを使って非常に単純なhtml5ページをiPhoneアプリにエクスポートし、このばかげた問題に取り組んでいます。iPhoneの解像度を理解する

iPhoneの解像度は960x640です。

これらのディメンションにキャンバスを設定すると、大きすぎるように見えます。

<canvas width="960" height="580" style="background-color:#607559"></canvas> 

なぜですか?そして、どのようにしてiphone4の完全なハイ・デフィニション機能を利用することができますか?私が古いiPhone(320×480)のものにキャンバスを設定すると、キャンバスがフルスクリーンにフィットするようです。

このような設定にビューポートを設定すると、パフォーマンスが低下しますか?

<meta name="viewport" content="width=device-width, height=device=height, initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5, user-scalable=no" /> 
+0

私の回答は役に立ちましたか? – Oliver

答えて

4

あなたの話しているiPhoneによって異なります。

古いiPhone 3GSの解像度は320x480です。新しいiPhone 4とiPhone 4は640x960の解像度を持つ、いわゆる網膜ディスプレイを持っていますが、自動的にスケールアップします(ピクセルに個別にアクセスしません)。

ただし、 Canvas drawing and Retina display: doable?

+0

ダニエル。ご回答いただきありがとうございます。これはiPhone4で、window.devicePixelRatioは '1'の値を返しています。私はまだiphone4をより大きな960x640キャンバスを表示するフル機能を利用する方法を追いかけていません。 – Skylervich

+0

これは奇妙なことですが、私が考えることができる唯一のことは、あなたのビューポートメタタグのスケーリングファクタがどうにかこのことを刺激するということです。 1.0に設定してやり直すことはできますか? –

+0

私はビューポートメタを1.0に設定し、それを完全に削除しようとしました。どちらの場合も、window.devicePixelRatio = 1とiPhoneのキャンバスは画面のほぼ2倍の大きさです。 – Skylervich