2011-12-21 4 views
0

私はサーバから最新のコンテンツをダウンロードするコミックビューアアプリを開発中です。画面の大きさに関係なく1つのファイルをダウンロードします。私がしたいのは、このファイルを両方の画面で正しく動作させることです。iPhoneで1xと2xグラフィックの両方に1枚の写真を使用する

これはどのような手順で、写真のサイズを変更する必要がありますか?私が抱えている問題は、グラフィックスが網膜の画面サイズであることですが、iPhoneはそのように解釈しません。つまり、彼らは2倍の大きさで表示されます。

答えて

0
CGImageRef cgImage = [myImage cgImage]; 
UIImage *retinaImage = [UIImage imageWithCGImage:cgImage scale:2.0 orientation:UIImageOrientationUp]; 

またUIImageが自動的にスケールを認識させるために、画像エディタで画像のDPI値を変更することができます。

しかし、通常、貴重な記憶を浪費しているため、網膜ディスプレイを持たないデバイスでは低解像度の画像を使用する必要があります。通常画面用

+0

これは理にかなっていますが、デバイスによってはオンザフライで調整する方法についてもっと詳しく話していました。言い換えれば、100x100の画像をダウンロードし、スケーリング後の結果のUIImageはiPhone 3G3では50x50ですが、iPhone 4では100x100です。 – MechEngineer

0

、あなたは一例でUIImageクラスにスケールのカテゴリを追加して、プログラム的にそれらのサイズを変更することができ、同様stackoverflowの上の多くのコードサンプルがあります。

網膜のために

UIImage resize (Scale proportion)

は、あなたがする必要がありますUIImageのスケールを設定して、使用する画面サイズをiosに知らせます(これはUIImageのinitWithCGImage:scale:orientation:メソッドで設定できます)。

関連する問題