从数据转换图像,然后从图像转换数据增加数据

Converting image from data and then data from image increases data

我正在从 PHAsset 获取图像。

我正在使用 PHAsset 的 requestImageData 函数请求图像数据。

从该函数获取数据后,我使用 scale = 1 从该数据创建图像

然后再次从那个新创建的图像转换数据,我得到了更多的数据,而不是我以前得到的数据

下面是我用来从 PHAsset 获取数据的代码

imageManager.requestImageData(for: image.asset, options: nil) { [weak self] (data, str, orientation, info) in
            guard let strongSelf = self else { return }
            if let dt = data {
                //Here I get data.count as 4993397
                if let image = UIImage(data: dt, scale: 1) {
                    strongSelf.image = image 
                    print("New data : \(image.jpegData(compressionQuality: 1)?.count)")
                    //The result printed here is 12107879
                }
            }
        }

为什么这里的数据变多了,我不知道

谢谢!!

这一行

let image = UIImage(data: dt, scale: 1)

构建具有最高质量比 (q=1.0) 的图像。所以图片突然变大了

因此,当您从 NSData 获取图像作为 UIImage 时,decompression/conversion 会更改图像的大小。