2013-05-23 2 views
2

Я использую класс AVCaptureConnection и AVCaptureStillImageOutput для создания экрана наложения и захвата изображения. В представлении у меня есть настраиваемая панель вкладок с некоторыми настраиваемыми элементами управления, такими как кнопка захвата, кнопка вспышки и т. Д.Настройка представления захвата изображения в классе AVCaptureStillImageOutput

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

Я попытался найти объект в AVCaptureConnection, чтобы установить область захвата, но не смог найти ничего. Любой столкнулся с проблемой раньше, пожалуйста, помогите. 1st screen where user takes the image

Как вы можете видеть, что пользователь видит дополнительные кроме того, что он взял

image that is taken

ответ

0

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

Если UIImage * photoImage образ возвращается на захват фото

CGRect refRect; //Define this to the exact frame which you want to crop the larger image to i.e. with smaller frame.size.height 
CGFloat deviceScale = photoImage.scale; 
CGImageRef imageRef = CGImageCreateWithImageInRect(photoImage.CGImage. refRect); 
UIIImage *finalPhoto = [[UIImage alloc] initWithCGImage:imageRef deviceScale orientation:photoImage.imageOrientation]; 

finalPhoto теперь будет обрезано, что вы хотите

Смежные вопросы