在通过网络发送之前,我应该调整相机/照片库中图像的大小吗?
Should I resize images from camera / photo library before sending over network?
我从照片库和相机取回的图像非常庞大,即使在良好的条件下也需要花费大量时间通过网络发送它们。我无法想象我需要完整的两位数 MB 图像的场景,但也许我遗漏了什么?在通过网络发送它们之前调整它们的大小是常见的做法吗?
你可以将图像转换成数据,然后使用这个:
let imageData = image!.jpegData(compressionQuality: 0.5)!
画质会比平时少50%才能快速顺利保存
是的,改变图像的尺寸和压缩以使其适合应用是常见的做法。
据观察,默认情况下来自相机的图像非常大,因此它们可以在大屏幕上显示、打印到海报、缩放和裁剪等,而不会出现过度像素化。因此,除非所讨论的应用程序是 photo/image 操纵应用程序,否则调整大小几乎肯定是有益的,因为它可以改善网络、应用程序的内存占用以及整体的敏捷性。
就如何调整大小和压缩而言,虽然可以为每个受支持的设备存储多个版本的图像。
实际上,似乎以最低分辨率设备所需的尺寸存储单个图像,然后仅对其进行足够的压缩,以便更高分辨率的设备可以根据需要按比例放大而不会看起来难看,这似乎提供了合理的结果。
在调整大小方面,SO 上有各种帖子,例如
我还在 GitHub here.
上坚持了我目前在我的应用程序中用于执行此操作的 UIImage 扩展的要点
玩得开心。
我从照片库和相机取回的图像非常庞大,即使在良好的条件下也需要花费大量时间通过网络发送它们。我无法想象我需要完整的两位数 MB 图像的场景,但也许我遗漏了什么?在通过网络发送它们之前调整它们的大小是常见的做法吗?
你可以将图像转换成数据,然后使用这个:
let imageData = image!.jpegData(compressionQuality: 0.5)!
画质会比平时少50%才能快速顺利保存
是的,改变图像的尺寸和压缩以使其适合应用是常见的做法。
据观察,默认情况下来自相机的图像非常大,因此它们可以在大屏幕上显示、打印到海报、缩放和裁剪等,而不会出现过度像素化。因此,除非所讨论的应用程序是 photo/image 操纵应用程序,否则调整大小几乎肯定是有益的,因为它可以改善网络、应用程序的内存占用以及整体的敏捷性。
就如何调整大小和压缩而言,虽然可以为每个受支持的设备存储多个版本的图像。
实际上,似乎以最低分辨率设备所需的尺寸存储单个图像,然后仅对其进行足够的压缩,以便更高分辨率的设备可以根据需要按比例放大而不会看起来难看,这似乎提供了合理的结果。
在调整大小方面,SO 上有各种帖子,例如
我还在 GitHub here.
上坚持了我目前在我的应用程序中用于执行此操作的 UIImage 扩展的要点玩得开心。