6

UIGraphicsBeginImageContext()、UIGraphicsGetImageFromCurrentImageContext()、UIImagePNGRepresentation()を使用して描画を行い、後で使用するためにPNGとしてディスクに保存する画像生成コードがあります。

UIImagePNGRepresentation() はスケールを考慮しますか? たとえば、幅が 20 ポイントの画像がある場合、結果の PNG は 20 ピクセルまたは 40 ピクセルになりますか?

また、これらの画像を表示するときは、[UIImage imageWithContentsOfFile:] と [image drawInRect:] を使用しています。これらのメソッドに、より高解像度の描画を使用することを示唆する方法はありますか?

4

1 に答える 1

6

iPhoneアプリケーション プログラミング ガイドUIGraphicsBeginImageContextWithOptionsに従って、iPhone 4 用に適切にスケーリングされたコンテキストを作成するには、2.0 のスケールで使用する必要があります。

質問の 2 番目の部分については、結果の png をベース名に @2x サフィックスを付けて保存する必要があると思います (例: myImage@2x.png)。その後、UIImage を使用して再度読み込むと、サイズとスケールが正しく設定されます。そうしないと、イメージはスケール 1.0 で読み込まれ、予想の 2 倍の大きさ (ポイント単位) になります。 同じドキュメントのこのセクションでは、高解像度ディスプレイを備えたデバイスの高解像度画像について少し詳しく説明しています。

于 2010-07-13T20:21:43.927 に答える