簡體   English   中英

從UIImagePicker裁剪UIImage的特定區域

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM