[英]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.