1

ImagePickerViewControllerを使用して写真を撮る/プロフィールページに既存の写真を使用するアプリの一部に取り組んでいます。写真(すべてのJPEG)の解像度のサイズを480x320に縮小し、それを細かく圧縮します。問題は、解像度を下げて圧縮する必要がある写真を特定する方法がないことです。

ここで私がやりたいのは、画像が480x320より大きい場合に画像の解像度を下げ、画像の圧縮レベルを30〜50KB程度になるように調整するアルゴリズムを作成することです。圧縮レベルは画像のサイズに合わせて調整されるため、30〜50 KB未満のものには圧縮がなく、30〜50KBに達するのに必要な量の圧縮があります。

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

4

1 に答える 1

2

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

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

于 2012-01-11T19:57:52.537 に答える