8

ネットから画像をダウンロードして UIImageView に表示するのはかなり簡単です。ただし、これには、ユーザーに表示する前に画像を完全にダウンロードする必要があり、プログレッシブ JPEG (および PNG) 画像を完全に無効にします。

転送中に部分的にダウンロードした画像をレンダリングするにはどうすればよいですか? SDK には画像を更新するコールバック関数があると思いますが、そのような関数が見つかりません。現在のiOS SDKでそれは可能ですか?

4

3 に答える 3

10

この投稿には約 1 年かかりますが、誰かがそれを探している場合に備えて、あなたが探していることを行うNYXImagesKitというプロジェクトがあります。

NYXProgressiveImageViewのサブクラスであるという名前のクラスがありUIImageViewます。

あなたがしなければならないことは次のとおりです。

NYXProgressiveImageView * imgv = [[NYXProgressiveImageView alloc] init];
imgv.frame = CGRectMake(0, 0, 320, 480);
[imgv loadImageAtURL:[NSURL URLWithString:@"http://yourimage"]];
[self.view addSubview:imgv];
[imgv release];

interlacedまた、低品質で読み込み、ダウンロードすると改善されるように、画像をそのまま保存することをお勧めします。イメージがインターレースされていない場合は、上から下にロードされます。

于 2012-02-06T20:06:37.837 に答える
1

libjpeg-turbo の上に小さなオープンソース ライブラリがあり、プログレッシブ JPEG を簡単にデコードおよび表示できます。

let imageView = CCBufferedImageView(frame: ...)
if let url = NSURL(string: "http://example.com/yolo.jpg") {
    imageView.load(url)
}

https://github.com/contentful-labs/Concordeを参照

于 2015-04-20T13:11:44.387 に答える
0

didReceiveData が呼び出されたときに UIImage を部分的にレンダリングしようとしましたか … ? …のようなもの</p>

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    //TODO: add some error handling in case the image could not be created
    UIImage *img=[UIImage imageWithData:data];
    if (img) {
        self.imageView.image=img;
    }
}
于 2011-01-24T14:37:34.000 に答える