Нарисуйте оверлей на камеру iOS - PullRequest
0 голосов
/ 07 ноября 2018

Пользователи должны иметь возможность сфотографировать свое удостоверение личности. Мне нужно добавить синюю рамку для просмотра камеры в качестве руководства. Направляющая должна иметь одинаковое соотношение сторон для всех размеров устройства и соответствовать этикетке с инструкциями. Могу ли я сделать это с помощью UIImagePicker?

Вот неполный код. Спасибо за любую помощь.

UIImageView *overlayImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@""]];
CGRect overlayRect = CGRectMake(0, 0, self.view.frame.size.height - 16, self.view.frame.size.width - 16);
[overlayImage setFrame:overlayRect];
[self.imagePicker setCameraOverlayView:overlayImage];

1 Ответ

0 голосов
/ 07 ноября 2018

Используйте AVCaptureDevice, AVCaptureSession, AVCaptureVideoPreviewLayer и AVCapturePhotoOutput.

Установите AVCaptureDeviceInput в качестве ввода сеанса захвата и вывод фотографии в качестве вывода сеанса захвата. Инициализируйте AVCaptureVideoPreviewLayer с помощью AVCaptureSession и добавьте к своей view.layer мысли addSublayer. Вы можете использовать UIViewController из раскадровки или программируемого экземпляра контроллера, добавить изображение наложения или загнанный в угол view.layer.borderWidth или UIBezierPath. Установите контроллер как AVCapturePhotoCaptureDelegate, добавьте методы делегата. Используйте метод capturePhoto(with:delegate:). Наслаждайтесь.

...