修改UIImage的大小

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

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


//UIImage.h

 

#import <Foundation/Foundation.h>


@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(00, 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(2828)];

posted on 2012-05-24 17:27  爱直至成伤lie  阅读(5275)  评论(2编辑  收藏  举报