根据传入的全尺寸的图片,在屏外上下文创建放大或者缩小的图片。
UIGraphicsBeginImageContext(CGSize size);可以创建图片上下文, 在上下文中绘制图片用drawInRect方法,UIGraphicsGetImageFromCurrentImageContext(void);可以从上下文得到一个UIImage对象。通过图片上下文得到图片后,必须调用UIGraphicsEndImageContext(void);清理相应的上下文。
代码例子:
- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); // 这里传入的第二个参数是是否是不透明的,第三个是缩放倍数。可直接用 UIGraphicsBeginImageContext(newSize);替代
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}