原文地址:http://lulala.blog.51cto.com/780501/659018
@interface UIImage(UIImageScale)
-(
UIImage*)getSubImage:(
CGRect)rect;
-(
UIImage*)scaleToSize:(
CGSize)size;
@end
@implementation UIImage(UIImageScale)
//截取部分图像
-(
UIImage*)getSubImage:(
CGRect)rect
{
CGImageRef subImageRef =
CGImageCreateWithImageInRect(
self.CGImage, rect);
CGRect smallBounds =
CGRectMake(
0,
0,
CGImageGetWidth(subImageRef),
CGImageGetHeight(subImageRef));
UIGraphicsBeginImageContext
(smallBounds.
size
);
CGContextRef
context = UIGraphicsGetCurrentContext
();
CGContextDrawImage(context, smallBounds, subImageRef);
UIImage* smallImage = [
UIImage
imageWithCGImage:subImageRef];
UIGraphicsEndImageContext
();
return smallImage;
}
创建一个bitmap
并把它设置成为当前正在使用的context
UIGraphicsBeginImageContext
(size);
//
从当前context
使当前的context
// 返回新的改变大小后的图片
return scaledImage;
}
@end
可以直接用的,你懂的