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