我正在从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时,解压缩/转换会更改图像的大小。