/*--------------------------------------------------
* 根据size截取图片中间矩形区域的图片这里的size是正方形
---------------------------------------------------*/
-(UIImage *)cutCenterImage:(UIImage *)image size:(CGSize)size
{
CGSize imageSize = image.size;
CGRect rect;
//根据图片的大小计算出图片中间矩形区域的位置与大小
if (imageSize.width > imageSize.height)
{
float leftMargin = (imageSize.width - imageSize.height) *0.5;
rect = CGRectMake(leftMargin, 0, imageSize.height, imageSize.height);
}
else
{
float topMargin = (imageSize.height - imageSize.width) *0.5;
rect = CGRectMake(0, topMargin, imageSize.width, imageSize.width);
}
CGImageRef imageRef = image.CGImage;
//截取中间区域矩形图片
CGImageRef imageRefRect = CGImageCreateWithImageInRect(imageRef, rect);
UIImage *tmp = [[UIImagealloc] initWithCGImage:imageRefRect];
CGImageRelease(imageRefRect);
UIGraphicsBeginImageContext(size);
CGRect rectDraw = CGRectMake(0, 0, size.width, size.height);
[tmp drawInRect:rectDraw];
//从当前context中创建一个改变大小后的图片
tmp = UIGraphicsGetImageFromCurrentImageContext();
// 使当前的context出堆栈
UIGraphicsEndImageContext();
return tmp;
}