2015-09-09 2 views
1

У меня есть UIImagePickerController, чтобы делать фотографии. Я знаю, например. от UIImagePickerController doesn't fill screen, что камера iPhone имеет разный аспект, что экран устройства, поэтому необходимо обрезать изображение камеры, чтобы получить фотографию без черных полос.Правильное масштабирование изображения предварительного просмотра UIImagePickerController в зависимости от ориентации устройства

Моя проблема заключается в следующем:

Когда я беру фото в портретном режиме, предварительный просмотр изображения обрезается по вертикали, так что изображение заполняет весь предпросмотра пространство:
enter image description here

Однако, когда Я беру фото в ландшафтном режиме, предварительный просмотр изображения не обрезаны, так что в верхней части изображения предварительного просмотра появляется черная полоса:
enter image description here

Я прочитал, что я могу масштабировать изображение предварительного просмотра с использованием свойства cameraViewTransformUIImagePickerController. Но я должен был установить это свойство до Я беру фотографию, в то время, когда я не знаю, в какой ориентации пользователь сделает снимок.
Так что, если я применил трансфокацию зума, прежде чем я сделаю снимок, фотография будет излишне обрезана со всех сторон в портретном режиме и вправо в ландшафтном режиме. Если я не применяю передачу, фотография берется прямо в портретном режиме, но имеет черный верхний бар в ландшафтном режиме.

Итак, каков правильный способ обрезать фотографию вправо (минимальная обрезка, но без черной полосы) в обеих ориентациях?

ответ

1

Иногда это помогает читать docs ... Они говорят:

ВАЖНО
UIImagePickerController класс поддерживает только портретный режим.

Так просто один не должен использовать UIImagePickerController в ландшафтном режиме.