美文网首页
iOS中图片压缩

iOS中图片压缩

作者: Vantine | 来源:发表于2016-10-09 16:23 被阅读0次

    1.对图片进行压缩,利用iOS的API提供的函数进行压缩:

    NSData *imageData = UIImageJPEGRepresentation(image,0.5);
    

    返回的是二进制的data值,可以通过打印知道大小确实减少了好多,通过此方法确实能优化性能,需要注意的是这个0.5,并不是说压缩到之前图片的二分之一 ,应该是个系数之类的数值,这样的话图片压缩之后性能会好很多,但是不建议这个,因为解压缩的时候很耗费性能,而且压缩后的图片会有些失真。

    2.根据image重新绘制一张新的图片出来:

    - (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{
        // 创建一个bitmap的context
        // 并把它设置成为当前正在使用的context
        UIGraphicsBeginImageContext(size);
        // 绘制改变大小的图片
        [img drawInRect:CGRectMake(0,0, size.width, size.height)];
        // 从当前context中创建一个改变大小后的图片
        UIImage* scaledImage =UIGraphicsGetImageFromCurrentImageContext();
        // 使当前的context出堆栈
        UIGraphicsEndImageContext();
        //返回新的改变大小后的图片
        return scaledImage;
    }
    

    根据大小来对图片进行压缩,不会造成失真。

    相关文章

      网友评论

          本文标题:iOS中图片压缩

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