4

URLからに画像を読み込もうとしていますUIIMageView。正常に動作しますが、読み込みに時間がかかりすぎるため、画像をより低い解像度/サイズでダウンロードしたいと考えています。

AFNetworking+UIImageクラスを使用しようとしましたが、パフォーマンスは同じです。

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

誰かがライブラリまたはこれのための何らかの方法を知っていますか?

4

2 に答える 2

2

通常、サーバー側のヘルプなしでは実行できません。通常、サムネイルを生成するサーバーに依存します。サーバー側で完全な画像をダウンロードし、サイズ変更されたバージョンを提供する画像変換プロキシ サーバーがあります。

サーバー側のサイズ変更がなければ、オプションは限られており、あまり良くありません。

画像がプログレッシブ/インターレース形式の場合、ファイルの一部のみをダウンロードできますが、それは低品質の概算になります.

残念ながら、事前に必要なデータ量を知ることはできないため、イメージ全体を要求し、十分なデータがあることがわかったら TCP/IP 接続を閉じることをお勧めします (うまくいけば[NSURLConnection cancel]そうします)。

または、HTTP リクエストを使用して任意の少量のデータをRangeダウンロードし、さらにダウンロードする必要がある量を見積もることもできます (帯域幅をいくらか節約できますが、遅延が発生します)。

部分的にダウンロードされた JPEG ファイルのプログレッシブ スキャンの回数を検査できる iOS SDK については何も知らないので、libjpeg または独自の JPEG 解析で手を汚す必要があるかもしれません。

しかし、実際には、サーバー側で画像全体をダウンロードして、適切なサムネイルを生成できれば簡単です。

于 2013-01-18T12:22:48.130 に答える
0

はい。imgur の直接の画像リンクで img_hash の末尾に「s」を追加するだけで、小さな正方形のバージョンが得られます。

http://i.imgur.com/DkDdK.jpg <--- 直接リンク
http://i.imgur.com/DkDdKs.jpg <--- 小さな正方形バージョン。余分な s に注意してください

于 2013-01-18T11:53:04.433 に答える