2014-10-27 1 views
5

Я использую AVCam для захвата изображения, но теперь я хочу показать квадратную камеру и взять квадратное изображение. Как я могу это сделать?AVCam с квадратной камерой

спасибо!

ответ

0

Для этого требуются два отдельных метода.

Важно понимать различие между ними.

Первый, изменяя уровень предварительного просмотра видео, требует регулировки гравитации видео. Обратите внимание, что это может быть изменено следующим образом, в контексте полного экрана:

[Swift 3]

previewView.videoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill 

По существу, вы изменяете за пределы видоискателя. Тем не менее, вы не оказываете никакого эффекта на захваченную фотографию.

Теперь, когда вы заполняете квадрат, вам необходимо определить границы слоев, затем используйте AVLayerVideoGravityResize.

Что касается изменений захваченного фото:

Моего метода просто принимают данные, возвращаемые изображений, превращая его в UIImage, а затем выполняет операцию кадрирования. Дело в том, что ваше захваченное фото всегда будет стандартным разрешением iPhone и соотношением сторон. Вам нужно будет взять данные изображения и преобразовать его в какой-то момент, чтобы удалить границы.

На самом деле, я больше не делаю этого локально, потому что это беспокоит. Если вы общаетесь с api REST, я бы подумал о том, что вы выполняете операции с обрезками на сервере - это так же просто и без накладных расходов для пользователя. Конечно, это может не устраивать вашу ситуацию.