iOS 圖像處理-剪裁圖像 – iPhone手機開發技術文章 iPhone軟體開發教學課程

解決問題:按照某一長寬比例,剪裁圖片的上部和下部,保留中間的內容。當然也可以自定義需要剪裁留下的區域

前提:需要添加Framework:CoreGraphics.framework

代碼:

- (UIImage*) crop:(UIImage*)theImage{
    // Get size of current image
    CGSize size = [theImage size];
    
    // Create rectangle that represents a cropped image
    CGFloat desiredRatio = 1.2;
    
    CGFloat croppedWidth = 0.0;
    CGFloat croppedHeight = 0.0;

    CGRect rect;
    
    if (size.height/size.width >= desiredRatio) {
        croppedWidth = size.width;
        croppedHeight = size.width * desiredRatio;
        CGFloat difference = (size.height-croppedHeight)/2;
        rect = CGRectMake(0.0, difference ,croppedWidth, croppedHeight);
    }
    else{
        return theImage;
    }
    
    // Create bitmap image from original image data,
    // using rectangle to specify desired crop area
    CGImageRef imageRef = CGImageCreateWithImageInRect([theImage CGImage], rect);
    UIImage *croppedImage = [UIImage imageWithCGImage:imageRef];
    CGImageRelease(imageRef);
    return croppedImage;
}

參考:網上資源,鏈接已丟失

發佈留言