Подтвердить что ты не робот

Как изменить кадр обрезки UIImagePickerController

при открытии работы с UIImagePickerController и настройке allowImageEditing = YES; есть кадр обрезки по умолчанию, который равен 320x320. В моем случае я хотел бы настроить этот кадр обрезки на 320x240 для изображений, которые являются ландшафтными, и 240x320 для изображений, которые являются портретами. Однако я не смог найти способ изменить этот кадр 320x320, который используется при редактировании/обрезке фотографии. Кто-нибудь из вас нашел способ сделать это?

Спасибо!

4b9b3361

Ответ 1

Вы должны реализовать это самостоятельно.

Сборщик выполняет только обрезку 320x320.

Поэтому вместо этого установите

allowImageEditing = NO;

Теперь вы получите полное изображение назад. Затем вам нужно будет создать контроллер view/view, который будет обрезать нужные пропорции.

Ответ 2

Это более свежий ответ с необходимым кодом обрезки: Ручная обрезка

По-прежнему не удается выполнить тяжелую работу.

Ответ 3

Вы можете попробовать 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).