美文网首页
Swift-图片压缩

Swift-图片压缩

作者: 懒床小番茄 | 来源:发表于2022-04-25 14:15 被阅读0次

一、

这种方式压缩后的图片,转 Data 的话会发现data的体积比之前的还大

/// 等比缩放图片 (注:压缩后的image转成data去使用的时候又把图片变大了)
    /// - Parameter scale: 缩放比例
    func scaleZoomImage(scale: CGFloat) -> UIImage?{
        let reSize = CGSize(width: self.size.width * scale, height: self.size.height * scale)
        return resetImgSize(size: reSize)
    }
    
    /// 重置图片大小 (注:压缩后的image转成data去使用的时候又把图片变大了)
    /// - Parameter size: 图片大小
    func resetImgSize(size: CGSize) -> UIImage?{
        UIGraphicsBeginImageContextWithOptions(size, false, UIScreen.main.scale)
        self.draw(in: CGRect(x: 0, y: 0, width: size.width, height: size.height))
        let resultImg = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return resultImg
    }

二、

当图片文件需要使用 Data 上传的时候,建议用这种

/// 直接使用data进行压缩
    /// - Parameter toKb: 指定data最大的体积
    /// - Returns: data
    func compressOriginalImage(_ toKb: Int = 10485760) -> Data?{
        var compression: CGFloat = 1
        let minCompression: CGFloat = 0.1
        var imageData = self.jpegData(compressionQuality: compression)
        if imageData!.count < toKb {
            return imageData
        }
        while imageData!.count > toKb, compression > minCompression {
            compression -= 0.1
            imageData = self.jpegData(compressionQuality: compression)
        }
        if imageData!.count > toKb {
            return nil
        }
        return imageData
    }

相关文章

  • Swift-图片压缩

    一、 这种方式压缩后的图片,转 Data 的话会发现data的体积比之前的还大 二、 当图片文件需要使用 Data...

  • [笔记] Swift-图片裁剪、压缩、转换

    图片裁剪:新建UIImage扩展 Image类 Over !

  • 图片压缩组件

    图片压缩 图片压缩

  • iOS 图片压缩方法

    两种图片压缩方法 两种图片压缩方法:压缩图片质量(Quality),压缩图片尺寸(Size)。 压缩图片质量 通过...

  • iOS 图片压缩限制大小最优解

    iOS 图片压缩限制大小最优解 图片的两种压缩方法 1.1 压缩图片质量 1.2 压缩图片尺寸 压缩图片使图片文件...

  • iOS 图片压缩限制大小最优解

    概要: 图片的两种压缩方法1.1 压缩图片质量1.2 压缩图片尺寸压缩图片使图片文件小于指定大小2.1 压缩图片质...

  • iOS 图片压缩限制大小

    一、两种图片压缩方法 两种压缩图片的方法:压缩图片质量(Quality),压缩图片尺寸(Size)。 压缩图片质量...

  • iOS 图片压缩方法

    两种图片压缩方法 两种压缩图片的方法:压缩图片质量(Quality),压缩图片尺寸(Size)。 压缩图片质量 N...

  • 图片压缩方法

    两种图片压缩方法 压缩图片质量(quality)、压缩图片尺寸(size) 压缩图片质量 或 前者可以控制压缩比例...

  • 图片懒加载之高斯模糊

    压缩原始图片 将原始图片压缩至1~2kb甚至更小的图片nature.jpg 压缩 java 图片压缩natur...

网友评论

      本文标题:Swift-图片压缩

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