ios修改UIImage的大小

修改UISlider的最大值和最小值图片的时候,发现需要修改图片的大小,否则会导致UISlider变形。目前苹果还不支持直接修改UIImage类的大小,只能修改UIImageView的大小。


所以只能通过写方法的方式来实现修改图片。如下:

//UIImage.h
#import 

@interface UIImage (Scale)

-(UIImage *)TransformtoSize:(CGSize)Newsize;

@end
//UIImage.m
#import "UIImage.h"

@implementation UIImage (Scale)


-(UIImage *)TransformtoSize:(CGSize)Newsize
{
    // 创建一个bitmap的context
    UIGraphicsBeginImageContext(Newsize);
    // 绘制改变大小的图片
    [self drawInRect:CGRectMake(0, 0, Newsize.width, Newsize.height)];
    // 从当前context中创建一个改变大小后的图片
    UIImage *TransformedImg=UIGraphicsGetImageFromCurrentImageContext();
    // 使当前的context出堆栈
    UIGraphicsEndImageContext();
    // 返回新的改变大小后的图片
    return TransformedImg;
}

@end

最后在其他地方导入头文件,即可以使用此方法了。

UIImage *MaxImg=[UIImage imageNamed:@"sunny.png"];
UIImage *MaxImg_Fin=[MaxImg TransformtoSize:CGSizeMake(28, 28)];

你可能感兴趣的:(iOS)