2

我的 iPhone 的照片应用程序中有图像文件。

我已经通过空投将它带到我的 macbook 并检查了图像的大小 = 1.9 MB

我将相同的图像保存到 iphone 的文件应用程序并检查了那里的图像大小 = 1.9 MB

我通过 , 将相同的图像带入了我的应用程序UIImagePickerController

  • 使用UIImagePNGRepresentation并打印了数据计数/字节计数 = 15.8 MB
  • 与compressionRatio 1.0一起使用UIImageJPEGRepresentation并打印数据计数/字节计数= 5.4 MB
  • 使用UIImagePNGRepresentation并将其保存到本地(DocumentsDirectory)并检查文件大小 = 15.8 MB
  • 与compressionRatio 1.0一起使用UIImageJPEGRepresentation并将其保存到本地(DocumentsDirectory)并检查文件大小= 5.4 MB

现在,我的问题是,为什么UIImagePNGRepresentationORUIImageJPEGRepresentation将文件大小增加到那么大?我什至把这张图片上传到我的服务器上,显然得到了更大的图片尺寸。我想以原始质量将给定图像上传到我的服务器,但我不想要这么大尺寸的图像(因为它在设备上的实际尺寸完全不同),有没有其他方法可以防止原始图像的大小和质量两个都?。

4

1 回答 1

1

让我们以 WWDC 2018 会议中的这个例子 - 416_ios_memory_deep_dive 为例。如果您有 590kb 文件大小的图像,则图像的尺寸为 2048 像素 x 1536 像素。因此,此图像的总内存为 10MB(2048 像素 x 1536 像素 x 4 字节/像素)有关更多详细信息,您可以查看此视频。https://developer.apple.com/videos/play/wwdc2018/416/

于 2018-08-31T15:00:28.520 回答