图片剪裁iOS代码

jopen 10年前

实现按照某一长宽比例,剪裁图片的上部和下部,保留中间的内容。当然也可以自定义需要剪裁留下的区域。在使用前需要添加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;        }