在AVCaptureStillImageOutput类中设置图像捕获视图

时间:2013-05-23 09:21:58

标签: iphone ios ios6 avcapturesession image-capture

我正在使用AVCaptureConnectionAVCaptureStillImageOutput类来创建叠加屏幕并捕获图像。在视图中,我有一个自定义标签栏,其中包含一些自定义控件,如捕获按钮,闪光按钮等。

问题是相机正在捕捉整个图像,并在预览页面中看到。自定义标签栏为40像素,因此用户会显示带有标签栏的捕获区域。用户将图像带到自定义标签栏。但是在预览屏幕中,图像会被扩展,并且他看到的图像与他拍摄的图像有所不同

我尝试在AVCaptureConnection中查找属性以设置捕获区域,但找不到任何内容。任何人都提前遇到过此问题,请提供帮助。1st screen where user takes the image

正如您所看到的,用户正在看到他所采取的更多内容

image that is taken

1 个答案:

答案 0 :(得分: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裁剪为您想要的