UIImage类并没有提供缩放图片需要用到的API,是不是觉得很吃惊?没关系,我们自己来添加一个。
定义缩放图片的Category
代码语言:javascript复制// UIImage Scale.h
@interface UIImage (scale)
-(UIImage*)scaleToSize:(CGSize)size;
@end
实现这个Category的定义
代码语言:javascript复制// UIImage Scale.h
#import "UIImage Scale.h"
@implementation UIImage (scale)
-(UIImage*)scaleToSize:(CGSize)size
{
// 创建一个bitmap的context
// 并把它设置成为当前正在使用的context
UIGraphicsBeginImageContext(size);
// 绘制改变大小的图片
[self drawInRect:CGRectMake(0, 0, size.width, size.height)];
// 从当前context中创建一个改变大小后的图片
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
// 使当前的context出堆栈
UIGraphicsEndImageContext();
// 返回新的改变大小后的图片
return scaledImage;
}
@end
如何使用
代码语言:javascript复制// 创建图片
UIImage *image = [UIImage imageNamed:@"myImage.png"];
// 更改图片大小
UIImage *scaledImage = [image scaleToSize:CGSizeMake(25.0f, 35.0f)];
- Previous NSLog中使用的格式符
- Next 从URL载入并显示一个图片