2012-01-11 9 views
1

ImagePickerViewControllerを使用して写真を撮ったり、既存の写真をプロフィールページに使用しているアプリの一部を使っています。私は480x320に画像(すべてのJPEG)の解像度のサイズを縮小し、それをうまく圧縮するよりです。問題は、解像度を下げて圧縮する必要がある写真を判断する方法がないことです。iOS画像圧縮アルゴリズム - 作成するにはどうすればよいですか?

ここで私がしたいのは、ピクチャの解像度を480x320より大きくし、ピクチャの圧縮レベルを約30-50 KBに調整するアルゴリズムを記述することです。圧縮レベルは画像のサイズに応じて変化するため、30〜50 KB未満の圧縮は行われず、30〜50 KBの圧縮に必要な圧縮率があります。

これを処理するアルゴリズムを作成するにはどうすればよいですか?

答えて

2

試行錯誤する必要があります。イメージを480x320にリサイズしてから、95%の品質でJPEGとして保存します。ファイルサイズを確認し、大きすぎる場合は90%で再試行してください。あなたが正しい範囲に入るまで繰り返す。

これは比較的遅くなる可能性があります(数秒?)ので、バックグラウンドスレッドでこれを実行してください。

+0

同意。それはキャッチ22です。圧縮率は一定の割合では減少しません。データのばらつきのようなものが多くあります。圧縮が終了するまで、どれくらいエコーしたか分かりません。試行錯誤は唯一のアプローチです。 – Steve

関連する問題