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

我正在从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
                }
            }
        }

为什么这里的数据增加了,我不知道

谢谢!

mayu_2010 回答:从数据转换图像,然后从图像转换数据会增加数据

此行

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

以最高质量比率(q = 1.0)构造图像。这就是为什么图像突然变大的原因。

因此,当您从NSData获得图像作为UIImage时,解压缩/转换将更改图像的大小。

本文链接:https://www.f2er.com/2853097.html

大家都在问