是否可以从url下载低分辨率的图像?

问题描述 投票:4回答:2

我正在尝试将图像从URL加载到UIIMageView。它工作正常,但我想以较低的分辨率/尺寸下载图像因为加载时间太长。

我尝试使用AFNetworking+UIImage类,但性能相同。

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

任何人都知道图书馆或某种方式吗?

iphone ios cocoa uiimageview
2个回答
1
投票

是。如果您只是在imgur上任何直接图像链接的img_hash末尾添加“ s”,则将得到它的小方块版本。

[http://i.imgur.com/DkDdK.jpg http://i.imgur.com/DkDdKs.jpg


2
投票

通常,没有服务器端的帮助,您将无法做到。通常,您将依靠服务器为您生成缩略图。有图像转换代理服务器将下载完整的图像服务器端,并为您提供调整大小的版本。

没有任何服务器端大小调整,选项是有限的,不是很好。

如果图像是逐行/隔行格式,则您只能下载文件的一部分,但这将是低质量的近似值。

[不幸的是,您无法事先知道需要多少数据,因此,最好的选择是请求整个图像并在看到足够的数据时关闭TCP / IP连接(希望[NSURLConnection cancel]可以那)。

或者您可以使用HTTP Range请求下载一些少量的数据,然后估计需要下载多少(它可以节省一些带宽,但是会花费您的延迟)。

我不知道iOS SDK中的任何内容,可以让您检查已下载的部分下载的JPEG文件有多少次渐进式扫描,因此您可能需要动手libjpeg或自己的JPEG解析。

但是,如果您可以下载整个图像服务器端并为其生成适当的缩略图,实际上会更容易。

© www.soinside.com 2019 - 2024. All rights reserved.