1

iOS アプリ開発とデザインの初心者です。私はこれらの2つの質問について疑問に思っていました:

高解像度の画像を作成して、すべてのデバイス (網膜または非網膜) に使用できますか? (Retina 以外のデバイス用に意図的に低解像度の画像を作成する必要があるのはなぜですか? 単純にすべてを高解像度にできないのはなぜですか?) ... ばかげた質問ではないことを願っています!

ここで「高解像度」とは正確には何を意味するのでしょうか? 「1024 ピクセル X 1024 ピクセル」 ? Retinaディスプレイの実際の「高さ」はどれくらいですか?

何か助けてください。

4

5 に答える 5

3

「高解像度」とは、iOS (および OSX) で各次元のピクセルが 2 倍であることを意味します。したがって、Retina 以外のディスプレイに 23x10 ピクセルの画像がある場合、その高解像度バージョンのサイズは 46x20 ピクセルでなければなりません。

高解像度画像に lowResImageName @2x.png のような名前を付けると、Retina デバイスではシステムが自動的に高解像度画像を選択します。

他の人が言ったように、特別な低解像度画像を使用して品質を最大化し (低解像度画像から細かい部分を残すことを選択できるためなど)、メモリフットプリントを最小限に抑えます (非網膜バリアントには半分のメモリがあるため)。これまでの Retina バージョンの RAM)。

また、1 つの非 Retina ピクセルは、iOS がサイズを測定する単位である 1 つの「表示ポイント」に等しいため、非 Retina ピクセルで考えるのにも役立ちます。

于 2012-06-29T18:18:49.033 に答える
2

iOS デバイスの解像度は次のとおりです。

                          standard            retina
iPhone, iPod Touch       320 x 480          640 x 960
iPad                     768 x 1024         1536 x 2048
iPhone 5                     -              640 x 1136

低解像度の画像を作成する理由 Retina 以外のデバイスで自動的に使用されるため、メモリを節約できます。

于 2012-06-29T18:11:50.217 に答える
1

正常に機能する画像もありますが、特定の画像 (たとえば、画像に細かいテキストがある場合) では、自動的に縮小するとギザギザになったり歪んだりすることがあります。また、何かを別の方法で表示したい場合もあります (低解像度のデバイスでは正しく表示されないクールなグラデーション効果のある画像がときどきあったため、低解像度の画像の細部を削除する必要がありました)。見栄えを良くします)。

両方のケースを許可すると、低解像度デバイスは低解像度画像のみをメモリにロードするため、アプリが使用するメモリが少なくなるという点で、他の答えも正しいです。これはそのような場合の最適化にすぎませんが、通常、低解像度デバイスは古いため、最初はメモリが少ないと想定できるため、依然として役立ちます。

于 2012-06-29T18:12:05.330 に答える
0

あなたが言及している高解像度グラフィックスであるRetinaグラフィックスは、幅と高さのポイント値の2倍にする必要があります。つまり、すべての iPhone サイズのデバイスで、画面のサイズは 320 ポイント x 480 ポイントです。Retina 以外のデバイスでは、320 ピクセル x 480 ピクセルに変換されます。Retina デバイスでは、これは 640 x 960 ピクセルに変換されます。縦横ともすべてが2重になっています。

つまり、すべての画像アセットの 2 つのバージョンが必要です。したがって、幅 44 ポイント、高さ 44 ポイントの画面に表示したい画像がある場合、2 つの画像が必要です... Image.png は 44 ピクセル x 44 ピクセルになり、Image@2x.png は次のようになります。 88 ピクセル x 88 ピクセル (Retina デバイスの場合、これは @2x が表すものです)。

高解像度バージョンだけでなく、2 つのバージョンがあるのはなぜですか? 大きいバージョンを小さいバージョンに「圧縮」するには処理能力が必要だからです。低解像度バージョンをすでに持っている方がはるかに簡単で、貴重なメモリを節約できます.

于 2012-06-29T18:15:09.190 に答える
0

最初の質問には H2CO3 が答えました。古いデバイスのメモリを保護します (iPhone 3G を考えてみてください。現在のアプリの多くは非常に遅いですが、適切にコーディングされたアプリは問題なく動作します)。

高解像度とはどういう意味ですか?

たとえば、Retina 以外のデバイスでは、example.pngを使用して 300x200 ピクセルの一部を表示できます[UIImage imageNamed:"example.png"]

高解像度とは、追加example@2x.pngの 600x400 ピクセル、つまり 2 倍のサイズがあることを意味します。次に、アプリのサイズが大きくなり、両方のデバイスに適切なグラフィックスがありますが、古いデバイスのメモリを節約します (まだ 300x200 ピクセルのディスプレイしかないため、ユーザーに追加の改善を加えずに 4 倍のメモリを割り当てる必要があります)。 -600x400 ピクセルの画像用のスペース)。

于 2012-06-29T18:20:05.290 に答える