У меня есть UIImagePickerController
, чтобы делать фотографии. Я знаю, например. от UIImagePickerController doesn't fill screen, что камера iPhone имеет разный аспект, что экран устройства, поэтому необходимо обрезать изображение камеры, чтобы получить фотографию без черных полос.Правильное масштабирование изображения предварительного просмотра UIImagePickerController в зависимости от ориентации устройства
Моя проблема заключается в следующем:
Когда я беру фото в портретном режиме, предварительный просмотр изображения обрезается по вертикали, так что изображение заполняет весь предпросмотра пространство:
Однако, когда Я беру фото в ландшафтном режиме, предварительный просмотр изображения не обрезаны, так что в верхней части изображения предварительного просмотра появляется черная полоса:
Я прочитал, что я могу масштабировать изображение предварительного просмотра с использованием свойства cameraViewTransform
UIImagePickerController
. Но я должен был установить это свойство до Я беру фотографию, в то время, когда я не знаю, в какой ориентации пользователь сделает снимок.
Так что, если я применил трансфокацию зума, прежде чем я сделаю снимок, фотография будет излишне обрезана со всех сторон в портретном режиме и вправо в ландшафтном режиме. Если я не применяю передачу, фотография берется прямо в портретном режиме, но имеет черный верхний бар в ландшафтном режиме.
Итак, каков правильный способ обрезать фотографию вправо (минимальная обрезка, но без черной полосы) в обеих ориентациях?