ios 可以从url下载低分辨率图像吗?

7cwmlq89  于 10个月前  发布在  iOS
关注(0)|答案(2)|浏览(90)

我试图加载图像从URLUIIMageView。它工作正常,但我想下载图像在一个较低的分辨率/大小,因为它需要太长的时间来加载。
我试过使用AFNetworking+UIImage类,但性能是一样的。

[iv setImageWithURL:[NSURL URLWithString:@"http://cegamers.com/wp-content/uploads/2011/06/automaton.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder-avatar"]];

字符串
有谁知道图书馆或者其他什么方法吗?

thtygnil

thtygnil1#

一般来说,没有服务器端的帮助你是做不到的。通常你会依赖服务器为你生成缩略图。有图像转换代理服务器,它会下载完整的图像服务器端,并为你提供一个调整大小的版本。
如果没有任何类型的服务器端插件,选项是有限的,不是很好。
如果图像是逐行/隔行格式,那么你只能下载文件的一部分,但这将是一个低质量的近似。
不幸的是,您无法提前知道需要多少数据,因此最好的办法是请求整个图像并在看到有足够的数据时关闭TCP/IP连接(希望[NSURLConnection cancel]这样做)。
或者,您可以使用HTTP Range请求下载一些任意的少量数据,然后估计您还需要下载多少数据(这可能会保存一些带宽,但会花费延迟)。
我不知道iOS SDK中有什么可以让你检查你有多少个部分下载的JPEG文件的渐进式扫描,所以你可能需要用libjpeg或your own JPEG parsing来弄脏你的手。
但如果你能在服务器端下载整个图像并生成一个合适的缩略图,那就更容易了。

igetnqfo

igetnqfo2#

是的。如果你在imgur上的任何直接图片链接中的img_hash末尾添加“s”,那么你就会得到一个小方块版本。
https://i.stack.imgur.com/sGMvI.jpg <-直接链接
http://i.imgur.com/DkDdKs.jpg <-小正方形版本。注意多出来的s

相关问题