任意のファイル データ サイズについて、そのデータ制限内に収まるように UIImage のサイズを変更 (または圧縮) できるようにしたいと考えています。この質問は、サイズを変更する方法やファイルサイズを確認する方法に関するものではありません...これをパフォーマンスの高い方法で取得するためのアルゴリズムに関するものです。
すでにここで検索して、線形アルゴリズムまたはバイナリ アルゴリズムで画像 jpeg の品質を下げることについて話しているこのスレッドを見つけました。これはあまりパフォーマンスが高くなく、せいぜい数十秒かかります。
私は iOS で作業しているので、画像は (iPhone 4S から) 10MB 近くになる可能性があります。私の目標は可変ですが、現在 3145728 バイトです。
私は現在UIImageJPEGRepresentation
、少し圧縮するために使用していますが、低い目標を達成するには、このような大きな写真の品質を大幅に低下させる必要があるようです. UIImage
サイズとサイズの関係はありNSData
ますか?次のようなことを言うことができる関数はありますか:
area * X = dataSize
...ワンショットでサイズを変更できるように、倍率を求めますか?