iOS中图像的UIImageJPEGRepresentation与UIImagePNGRepresentation

时间:2018-10-12 12:37:31

标签: ios swift

我正在使用UIImagePickerController从照片库读取图像。我使用以下代码计算其大小:

if let file = info[UIImagePickerControllerOriginalImage] {
    let imageValue = (file as? UIImage)!

    let data = UIImageJPEGRepresentation(imageValue, 1)
    let imageSize = (data?.count)! / 1024
    print("imsize in MB: ", Double(imageSize) / 1024.0)


    if let imageData = UIImagePNGRepresentation(imageValue) {
        let bytes = imageData.count
        let KB = Double(bytes) / 1024.0
        let MB = Double(KB) / 1024.0
        print("we have image size as MB", MB)
    }
}

令我惊讶的是,两者的图像尺寸都不相同,这也与图像尺寸不同。这是怎么回事,哪个更准确?

有点困惑。理解这一点非常需要帮助。

1 个答案:

答案 0 :(得分:1)

Jpeg和Png不同。在这里,我用Google搜索了Jpeg和Png之间的区别。

JPG和PNG之间的主要区别是它们使用的压缩算法。 JPG使用有损压缩算法,该算法会丢弃一些图像信息,以减小文件的大小。 ...使用PNG,图像的质量不会改变,但是文件的大小通常会更大。