我正在使用AVCaptureConnection
和AVCaptureStillImageOutput
类来创建叠加屏幕并捕获图像。在视图中,我有一个自定义标签栏,其中包含一些自定义控件,如捕获按钮,闪光按钮等。
问题是相机正在捕捉整个图像,并在预览页面中看到。自定义标签栏为40像素,因此用户会显示带有标签栏的捕获区域。用户将图像带到自定义标签栏。但是在预览屏幕中,图像会被扩展,并且他看到的图像与他拍摄的图像有所不同
我尝试在AVCaptureConnection
中查找属性以设置捕获区域,但找不到任何内容。任何人都提前遇到过此问题,请提供帮助。
正如您所看到的,用户正在看到他所采取的更多内容
答案 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裁剪为您想要的