簡體   English   中英

如何以不同的分辨率計算UIImage的裁剪尺寸(rect)

[英]How can I calculate the crop size (rect) of the UIImage with different resolution

在我的應用程序中,我有一個'從相機捕獲'功能,我正在使用Brad Larson(ty)的GPUImageFramework,GPUImageStillCamera捕獲靜態圖像時。

stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPresetPhoto cameraPosition:
               AVCaptureDevicePositionBack];

如你看到的。 會話預設是AVCaptureSessionPresetPhoto ,在iPhone 4中給我1529x2048輸出和4s(8mp)設備給我2448x3264。

下圖是我如何使用GPUStillCamera。 這里,存在矩形,在這種情況下,是捕獲圖像的裁剪矩形。

還是相機輸出

我捕獲圖像時的代碼片段。

- (IBAction)takePhoto:(id)sender
{
        [stillCamera capturePhotoAsJPEGProcessedUpToFilter:filter withCompletionHandler:^(NSData *processedJPEG, NSError *error){

        //1529x2048 when iPhone 4 and 2448x3265 when on 4s
        UIImage *rawImage = [[UIImage alloc]initWithCGImage:[[UIImage imageWithData:processedJPEG]CGImage]scale:1.0 orientation:UIImageOrientationUp];

       **CGRect rect = CGRect{?,?,?,?};**
       UIImage *imageFromRect = [rawImage imageAtRect:rect ];
}

我的問題是。 我怎么能知道點(X,Y,W,H),我可以傳遞給imageAtRect方法將從繪制子圖像rawImage 並且只會獲得矩形內的圖像部分( 無論拍攝圖像的分辨率如何 ),如上面的屏幕所示? 我應該手動操作還是有建議的數學技巧?

謝謝!

您可以使用此圖像裁剪類和libray文件,您可以獲取裁剪的UIImage的大小和原點位置。

http://code4app.net/ios/Custom-image-cropper/51e5f03f6803fac530000000

另外,如果你想要它可以動態地相應地改變裁剪圖像的大小。 易於使用和實施。 請看一下教程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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