サイズを制限せずに写真を選択して編集できるようにします。iOSで大きな画像を扱う
私の考えは、編集用の画面と同じサイズの大きな写真のサムネイルを作成し、編集が終わったら大きな写真を使ってサムネイルで実行されたのと同じ編集をすることです。
UIGraphicsBeginImageContext
を使用してサムネイル画像を作成すると、メモリに問題が発生します。
ハードウェアの限界のために大きな画像全体を直接編集するのは難しいことを知っていますので、大きな画像を2048 * 2048未満のメモリ問題にダウンサンプリングできる方法があるかどうかを知りたいのですか?
BitmapFactory
クラスには、Androidプラットフォームで写真をダウンサンプリングできるinSampleSize
オプションがあります。これはiOSでどのようにすることができますか?
NSData * data = [NSData dataWithContentsOfFile:パスオプション:NSDataReadingMappedAlwaysエラー:&エラー]を使用できます。画像データをメモリにロードせずにアクセスする。 – Sten
Stenのチップのおかげで、NSDataReadingMappedAlwaysオプションを使ってみましたが、まだ10000 * 10000のイメージでクラッシュしています。イメージをロードする方法に関係なく、UIGraphicsBeginImageContextを使用して原点イメージを拡大し、メモリ内のビットマップ全体を必要とします。 jpeg/pngファイルをメモリに読み込む際に画像をダウンサンプリングする方法はありますか? – lingtianlan