图片的压缩(上传图片太大的话,上传不到服务器)

时间:2016-04-07 15:55:30   收藏:0   阅读:317

#define COMMON_COMPRSSION_FACTOR 0.8f //1.设置固定的压缩系数0~1

#define MAX_IMAGE_SIZE (1 * 1024 * 1024)//2.服务器能接受的最大的图片大小1024*1024是1M

 @implementation SACompressUtil

  +(NSData *)compressImageWithOriginalSize:(UIImage *)originalImage {

    CGFloat compression = COMMON_COMPRSSION_FACTOR;

    CGFloat maxCompression = 0.1f;

    long maxFileSize = MAX_IMAGE_SIZE;

    NSData *imageData = UIImageJPEGRepresentation(originalImage, compression);//3.正常压缩图片

    while ([imageData length] > maxFileSize && compression > maxCompression)//4.如果传入的图片的大小大于1M,并且压缩系数大于0.1,则符合条件

    {

        compression -= 0.1;//将压缩系数-0.1(从0.8开始减),越小则图片压缩越严重

        imageData = UIImageJPEGRepresentation(originalImage, compression);//通过这个方法压缩图片(两个参数,uimage,压缩系数)

    }

    return imageData;

}

 

原文:http://www.cnblogs.com/dcy123/p/5363914.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!