UIImage 保存的文件太大

问题描述

尝试了解保存到文件时 iOS 上的图像大小。

我在 iPhone 上有一张大小为 5.1 MB 的图片。我通过其委托中的 UIImagePickerController 获取此图像:

let image = info[.originalImage] as? UIImage

我将此图片保存到具有以下功能文件夹中:

extension UIImage
{
    func save(at url: URL,createSubdirectoriesIfNeed: Bool = true,compressionQuality: CGFloat = 1.0)  -> URL?
    {
        do
        {
            if createSubdirectoriesIfNeed
            {
                try FileManager.default.createDirectory(at: url.deletingLastPathComponent(),withIntermediateDirectories: true,attributes: nil)
            }
            guard let data = jpegData(compressionQuality: compressionQuality) else { return nil }
            print ("Imagesize = \(data.count) Bytes")
            
            var finalurl = url
            if finalurl.pathExtension.isEmpty
            {
                finalurl.appendpathExtension("jpg")
            }
            print (finalurl)
            try data.write(to: finalurl)
            return url
        }
        catch
        {
            print("-- Error: \(error)")
            return nil
        }
    }
}

现在 print ("Imagesize = \(data.count) Bytes")输出显示大约 10 MB。 为什么图片尺寸翻了一番?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)