我的标题正在爆发这个问题。
我想实现类似于Instagram的相机视图的东西。 我正在使用叠加视图来自定义相机的外观。
第一期 - 我无法使实时视图成为一个正方形。因此,我创建了视图以覆盖实时视图的各个部分并形成一个正方形。
这个解决方案导致了我的第二个问题。如何裁剪我在叠加视图上制作的正方形中出现的图像。
我最接近的解决方案来自这篇文章:UIImage: Resize, then Crop
有没有办法制作方形实时预览和使用该图像。或者我可以从我想要的scryeen的一部分做一个正方形而不会失真或失去质量。
此致
答案 0 :(得分:0)
GPUImage是处理实时相机Feed的绝佳框架。它可以轻松实现许多视觉效果,包括裁剪。
例如,要从矩形相机输入进行方形视频输入:
GPUImageStillCamera *camera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset1280x720 cameraPosition:AVCaptureDevicePositionBack];
camera.outputImageOrientation = UIInterfaceOrientationPortrait;
// 720 / 1280 = 0.5625
GPUImageCropFilter *squareCrop = [[GPUImageCropFilter alloc] initWithCropRegion:CGRectMake(0.0, 0.21875, 1.0, 0.5625)];
[camera addTarget:squareCrop];
[squareCrop addTarget:self.imageView];
[camera startCameraCapture];
您需要阅读GPUImage文档以了解如何正确设置框架,但是一旦您学会了如何使用它,它就会非常强大。