Изменить соотношение сторон UIImage - PullRequest
0 голосов
/ 08 мая 2020

Можно ли ПРОСТО изменить соотношение сторон UIImage, снятого с помощью UIImagePickerController?

Я использую настраиваемый оверлей, поэтому я не использую функции редактирования или элементы управления камерой.

Я бы хотел, чтобы мои изображения были 16: 9. Я не хочу, чтобы они были маленькими или каким-либо образом регулировали размер. Я знаю, что изменение соотношения сделает это, но я не знаю правильного математического подхода, чтобы сделать это, чтобы сохранить лучшее качество.

Я пытался это сделать при создании UIImagePicker, но изображение камеры на экране очень маленькое. В идеале я бы хотел, чтобы он оставался полноэкранным, но только после того, как я сделал снимок, изменилось соотношение сторон изображения.

let screenBounds = UIScreen.main.bounds.size
let cameraAspectRatio: CGFloat = 16.0/9.0

let camViewHeight: CGFloat = screenBounds.width * cameraAspectRatio
let scale: CGFloat = screenBounds.height / camViewHeight

self.imagePicker.cameraViewTransform = CGAffineTransform(translationX: 0, y: (screenBounds.height - camViewHeight)/2.0)
self.imagePicker.cameraViewTransform = self.imagePicker.cameraViewTransform.scaledBy(x: scale, y: scale)

Также в didFinishPickingMediaWithInfo я использую UIImagePickerControllerOriginalImage, так как я не разрешаю какие-либо функции редактирования с собственной камеры iOS после съемки изображения. Причина в том, что я разрешаю пользователю делать несколько изображений одновременно, прежде чем закрыть средство выбора.

Нужно ли мне настраивать соотношение сторон в didFinishPickingMediaWithInfo?

...