使用UIImageJPEGRepresentation时,compressQuality应该是什么?

Jor*_*n H 22 uiimage uiimagejpegrepresentation ios

我想对用户库中的照片应用过滤器,然后将其写回磁盘.我正在使用UIImageJPEGRepresentation.此函数采用a UIImagecompressionQuality0.0到1.0之间的值.因为我想保留原始质量,我将其设置为1.0.但我发现这实际上创建了一个文件大小比原始文件更大的图像文件,甚至更大.我注意到在Apple的Sample Photo Editing Extension应用程序中,他们总是将质量设置为0.9.我试过了,它输出的文件大小接近原始照片文件大小.这对我来说没有意义.有人可以解释一下吗?始终使用0.9是否合适?iOS相机是否使用该值压缩它,因此0.9是原始质量?或者为什么0.9实际上不是1.0,如果没有更好的质量?

NSData *renderedJPEGData = UIImageJPEGRepresentation(image, 0.9f);
Run Code Online (Sandbox Code Playgroud)

New*_*ner -5

您可以将 PNG 表示形式的图像转换为原始图像质量。

UIImagePNGRepresentation(image)
Run Code Online (Sandbox Code Playgroud)

  • 我不想使用 UIImagePNGRepresentation 并且我想在 UIImageJPEGRepresentation 上使用:) (2认同)