这里我把根据图片指定大小裁剪图片的算法封装成一个方法如下:
#pragma mark -裁剪图片
//需要传过来的参数有 : 图片 image 和 自定的尺寸
- (UIImage *)image:(UIImage*)image byScalingToSize:(CGSize)targetSize {
//原始 iamge
UIImage *sourceImage = image;
//新的image 用来接收裁剪后的image 开始时为 nil
UIImage *newImage = nil;
UIGraphicsBeginImageContext(targetSize);
CGRect thumbnailRect = CGRectZero;
//裁剪后的image 的原点和 裁剪前 的 image 的 原点相同
thumbnailRect.origin = CGPointZero;
//裁剪后的image 的宽和 指定的宽 相同
thumbnailRect.size.width = targetSize.width;
//裁剪后的image 的长和 指定的长 相同
thumbnailRect.size.height = targetSize.height;
//讲原始image 在设定的 位置上绘制(裁剪)
[sourceImage drawInRect:thumbnailRect];
//把裁剪好的 image 放在 新的image 上
newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage ;
}