![](/img/trans.png)
[英]Crop UIImage to specific area across devices in SwiftUI card view
[英]Crop a specific area of an UIImage from an UIImagePicker
我的标题与此有关。
我想实现类似于Instagram相机视图的功能。 我正在使用叠加视图来自定义相机的外观。
第一个问题-我无法将实时显示设为正方形。 因此,我创建了视图以覆盖实时视图的一部分并制作一个正方形。
这个解决方案导致了我的第二个问题。 如何裁剪显示在叠加视图上的正方形中的图像。
我最接近的解决方案来自于这篇文章: UIImage:调整大小,然后裁剪
有没有一种方法可以制作方形实时预览并使用该图像。 或者我可以在不希望变形或质量损失的情况下,用我想要的网纹幕布的一部分制作一个正方形。
问候
GPUImage是用于处理实时摄像机供稿的绝佳框架。 它可以轻松实现许多视觉效果,包括裁剪。
例如,要从矩形摄像机的输入中输入方形视频,请执行以下操作:
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文档,以学习如何正确设置框架,但是一旦学习了如何使用它,它就会非常强大。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.