解決問題:按照某一長寬比例,剪裁圖片的上部和下部,保留中間的內容。當然也可以自定義需要剪裁留下的區域
前提:需要添加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; }
參考:網上資源,鏈接已丟失