在通过网络发送之前,我应该调整相机/照片库中的图像大小吗?

问题描述

我从照片库和相机中取回的图像很大,即使在良好的条件下,通过网络发送它们也需要大量时间。我无法想象我需要完整的两位数 MB 图像的场景,但也许我遗漏了什么?在通过网络发送它们之前调整它们的大小是常见的做法吗?

解决方法

您可以将图像转换为数据,然后使用:

    let imageData = image!.jpegData(compressionQuality: 0.5)!

将质量比平时少50%,以便能够快速顺利地保存

,

是的,通常的做法是更改图像的尺寸和压缩以使其适合应用程序。

正如所观察到的,默认情况下,来自相机的图像非常大,因此它们可以在大屏幕上显示、打印到海报、缩放和裁剪等,而不会出现过度像素化。因此,除非相关应用是处理照片/图像的应用,否则调整大小几乎肯定是有益的,因为它可以改善网络、应用的内存占用和整体敏捷性。

在如何调整大小和压缩方面,虽然可以为每个受支持的设备存储多个版本的图像。

实际上,似乎以最低分辨率设备所需的尺寸存储单个图像,然后仅对其进行足够的压缩,以便更高分辨率的设备可以根据需要进行扩展而不会显得难看,这似乎提供了合理的结果。

在调整大小方面,SO 上有各种帖子,例如How do I resize the UIImage to reduce upload image size

我还在 GitHub here 上的应用程序中使用 UIImage 扩展程序的要点。

玩得开心。