Wie zeige ich ein progressives JPEG in einem UIImageView an, während es heruntergeladen wird?

8

Das Herunterladen eines Bildes aus dem Netz und das Anzeigen in einem UIImageView ist ziemlich einfach. Dies erfordert jedoch, dass das Bild vollständig heruntergeladen wird, bevor es dem Benutzer angezeigt wird, wodurch progressive JPEG- (und PNG-) Bilder vollständig verworfen werden.

Wie kann ich die teilweise heruntergeladenen Bilder während der Übertragung rendern? Ich würde mir vorstellen, dass das SDK eine Callback-Funktion hat, die das Bild aktualisiert, aber ich kann eine solche Funktion nicht finden. Ist das überhaupt möglich mit dem aktuellen iOS SDK?

    
Grzegorz Adam Hankiewicz 19.01.2011, 22:22
quelle

3 Antworten

0

Haben Sie versucht, das UIImage teilweise darzustellen, wenn didReceiveData aufgerufen wird ...? Etwas wie ...

%Vor%     
versatilemind 24.01.2011, 14:37
quelle
10

Ich weiß, dass dieser Post ungefähr ein Jahr hat, aber nur für den Fall, dass jemand danach sucht, gibt es ein Projekt namens NYXImagesKit das tut, was du suchst.

Es hat eine Klasse namens NYXProgressiveImageView , die eine Unterklasse von UIImageView ist.

Alles, was Sie tun müssen, ist:

%Vor%

Auch ist es eine gute Option, Ihre Bilder als interlaced zu speichern, so dass sie mit geringer Qualität geladen und mit dem Download verbessert werden. Wenn das Bild nicht interlaced ist, wird es von oben nach unten geladen.

    
Raphael Petegrosso 06.02.2012 20:06
quelle
1

Es gibt jetzt eine kleine Open-Source-Bibliothek über libjpeg-turbo, mit der man einfach progressive JPEGs dekodieren und anzeigen kann:

%Vor%

Siehe Ссылка

    
NeoNacho 20.04.2015 13:11
quelle