1

イメージ ピッカー コントローラーを使用して、ユーザーからイメージを取得しています。画像に対していくつかの操作を行った後、ユーザーが画像を 1600x1200 px、1024x1024 px、または 640x480 px (iFlashReady アプリのようなもの) で保存できるようにしたいと考えています。

最後のオプションは、UIImagePickerControllerDelegate メソッドで取得する画像のサイズです (カメラ ロールの画像を使用する場合)。

画像をピクセル化せずにこれらの解像度で画像を保存する方法はありますか?

必要な幅と高さのビットマップ コンテキストを作成し (CGBitmapContextCreate)、そこに画像を描画してみました。ただし、画像は 1600x1200 でピクセル化されます。

ありがとう

4

3 に答える 3

2

これは重要です。画像に十分なデータがありません。拡大するには、画像をリサンプリングし、ピクセル間を補間する必要があります(画像のサイズを変更するときのフォトショップなど)。

ほとんどの場合、次のようなサードパーティのライブラリを使用することをお勧めします。

http://code.google.com/p/simple-iphone-image-processing/

これは、これと他の多くの画像処理機能を実行します。

于 2009-06-13T21:27:54.873 に答える
1

昔のコンピュータービジョンの授業のかすかな記憶からすると、アップコンバートした後の画像をボカすのだと思います。

于 2009-06-13T12:19:40.073 に答える
1

描画する前に、CGBitmapContext のアンチエイリアシングや補間の品質を調整してみてください。

CGContextSetShouldAntialias( context, 1 == 1 )

CGContextSetInterpolationQuality( context, kCGInterpolationHigh ) ;

私の記憶が正しければ、CGContext のアンチエイリアシングはデフォルトでオフになっています。

于 2011-08-03T22:34:26.370 に答える