UIImage 压缩

来源:互联网 发布:网络戴帽子唱歌的女生 编辑:程序博客网 时间:2024/06/07 02:59

直接上代码。实际使用中可以根据需要调节图片size 和压缩比例compressionQuality

-(UIImage *)compressImage:(UIImage *)image{    float actualHeight = image.size.height;    float actualWidth = image.size.width;    float maxHeight = 600.0;    float maxWidth = 800.0;    float imgRatio = actualWidth/actualHeight;    float maxRatio = maxWidth/maxHeight;    float compressionQuality = 0.5;//50 percent compression    if (actualHeight > maxHeight || actualWidth > maxWidth){        if(imgRatio < maxRatio){            //adjust width according to maxHeight            imgRatio = maxHeight / actualHeight;            actualWidth = imgRatio * actualWidth;            actualHeight = maxHeight;        }        else if(imgRatio > maxRatio){            //adjust height according to maxWidth            imgRatio = maxWidth / actualWidth;            actualHeight = imgRatio * actualHeight;            actualWidth = maxWidth;        }        else{            actualHeight = maxHeight;            actualWidth = maxWidth;        }    }    CGRect rect = CGRectMake(0.0, 0.0, actualWidth, actualHeight);    UIGraphicsBeginImageContext(rect.size);    [image drawInRect:rect];    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();    NSData *imageData = UIImageJPEGRepresentation(img, compressionQuality);    UIGraphicsEndImageContext();    return [UIImage imageWithData:imageData];}
0 0
原创粉丝点击