美文网首页
iOS压缩图片体积的方法

iOS压缩图片体积的方法

作者: AnthonyChen | 来源:发表于2016-09-05 18:30 被阅读472次

    前一段时间在做一个社交类APP时,需要有朋友圈的功能,所以需要对发布的图片进行压缩体积的操作,在google上找了一些方法,发现了 一些方法,最终,选择了系统原生的按比例压缩图片体积的方法,在保证图片不糊的情况下,可以将1、2M左右的图片压缩到200K(或更少)的体积。

    方法如下:

    /**

    压缩图片至指定的体积

    @param image 图片

    @param maxLength 最大体积KB为单位

    @return 压缩后的图片data数据

    */

    + (NSData*)compressImageQuality:(UIImage*)image toByte:(NSInteger)maxLength {

    CGFloatcompression =1;

    NSData*data =UIImageJPEGRepresentation(image, compression);

    while(data.length> maxLength *1024&& compression >0) {

    if(data.length>1024*1024*10) {

    compression -=0.5;

    }

    elseif(data.length>1024*1024*5) {

    compression -=0.4;

    }

    elseif(data.length>1024*1024*3) {

    compression -=0.3;

    }

    elseif(data.length>1024*1024) {

    compression -=0.25;

    }

    elseif(data.length> maxLength)

    {

    compression -=0.1;

    }

    data =UIImageJPEGRepresentation(image, compression);

    }

    NSLog(@"压缩后的data:%lu",data.length);

    //UIImage *resultImage = [UIImage imageWithData:data];

    returndata;

    }

    首先将图片转为NSData格式,然后判断data的长度,再根据长度进行一定比例的缩放,然后将缩放好的NSData文件上传至服务器

    相关文章

      网友评论

          本文标题:iOS压缩图片体积的方法

          本文链接:https://www.haomeiwen.com/subject/dtgrettx.html