从数据转换图像,然后从图像转换数据增加数据
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 会更改图像的大小。
我正在从 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 会更改图像的大小。