ios等比例压缩图片

ios等比例压缩图片
本文由 zqdreamer 发表于 2014年9月20日

+(UIImage *)compressImageWith:(UIImage *)image width:(float)width height:(float)height
{
    float imageWidth = image.size.width;
    float imageHeight = image.size.height;
 
    float widthScale = imageWidth /width;
    float heightScale = imageHeight /height;
 
    // 创建一个位图上下文,并把它设置为当前正在使用的上下文
    UIGraphicsBeginImageContext(CGSizeMake(width, height));
 
    if (widthScale > heightScale) {//设置压缩比例
        [image drawInRect:CGRectMake(0, 0, imageWidth /heightScale , height)];    
    }
    else {
        [image drawInRect:CGRectMake(0, 0, width , imageHeight /widthScale)];
    }
 
    // 从当前context中创建一个改变大小后的图片
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    [newImage retain];
    // 使当前的context出堆栈
    UIGraphicsEndImageContext();
 
    return newImage;
 
}

你可能感兴趣的:(ios等比例压缩图片)