我在iOS上使用类似Instagram的应用程序,我想知道如何优化每张图片的文件大小,以便用户在获取所有这些图片时尽可能少地使用数据从我的后端。如果您按原样下载文件,它似乎会耗尽数据,因为高分辨率图片每个大约1.5MB。有没有办法缩小图片的大小,同时尽可能保持图片的质量?
答案 0 :(得分:3)
您可以通过将图像保存到json二进制数据来压缩图像。 或者只是核心二进制数据。 或优雅的Swift Realm - 核心二进制数据。
答案 1 :(得分:1)
你真的想自己定制图像吗?因为有很多图书馆已经可以做到这一点。
哪种更有效,更强大。
等
AFNetworking Api
它很棒,它不仅可以根据设备分辨率按照UIImageView当前可用尺寸压缩图像,还可以提供图像缓存的灵活性。
Here is the link of Pod File and github
试试吧你会喜欢它
答案 2 :(得分:0)
您可以通过将UIImage转换为NSData
UIImage *rainyImage =[UImage imageNamed:@"rainy.jpg"];
NSData *imgData= UIImageJPEGRepresentation(rainyImage,0.1 /*compressionQuality*/); // Second parameter of this function is the compression Quality
现在使用此NSData
对象将其保存或转换为UIImage
将它再次转换为UIImage
UIImage *image = [UIImage imageWithData:imgData];
希望这能解决您的问题。
图像压缩会降低图像质量。