web-dev-qa-db-ja.com

UIImagePickerControllerトリミングフレームを変更する方法

uIImagePickerControllerを使用して作業を開始し、allowsImageEditing = YESを設定する場合。 320x320のデフォルトのトリミングフレームがあります。私の場合、そのトリミングフレームを横向きの画像の場合は320x240に、縦向きの画像の場合は240x320に設定したいと思います。ただし、写真の編集/トリミング時に使用される320x320フレームを変更する方法を見つけることができませんでした。それを行う方法を見つけた人はいますか?

ありがとう!

25
user123404

あなたはそれをあなた自身で実行しなければなりません。

ピッカーは320x320のトリミングのみを実行します。

代わりに設定

allowImageEditing = NO;

これで、完全な画像が返されます。次に、必要な比率にトリミングするビュー/ビューコントローラーを作成する必要があります。

30
Corey Floyd

これは、必要な手動トリミングコードを使用した最新の回答です: 手動トリミング

大変な作業から逃れることはまだありません。

2
Tim

ShittyImageCrop を試すことができます。特定のアスペクト比にトリミングするのに適しています。あなたの場合、次のようにアスペクト比4:3(または横向きでは3:4)で表示します。

let cropVC = ShittyImageCropVC(frame: (self.navigationController?.view.frame)!, image: imageToCrop, aspectWidth: 4, aspectHeight: 3)
self.navigationController?.present(cropVC, animated: true, completion: nil)

その後、他のコードを使用して、目的の解像度(320x240または240x320)にスケーリングすることができます。

2
budidino