解决问题:按照某一长宽比例,剪裁图片的上部和下部,保留中间的内容。当然也可以自定义需要剪裁留下的区域
前提:需要添加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;
}
参考:网上资源,链接已丢失