1

I have activity that load's image from server into imageview. Image is displayed after it's fully loaded.

What I want to do is while image is being loaded display it first in low, than medium, and at the end high quality (some images are big). I have no idea how this thing is called and what to google, so any help is appreciated.

Mat
  • 202,337
  • 40
  • 393
  • 406
Sver
  • 3,349
  • 6
  • 32
  • 53

3 Answers3

3

Loading an image like this is called progressive loading, it is even part of the JPEG standard.

Another possible search term might be interlacing.

Mira Weller
  • 2,406
  • 22
  • 27
1

It is certainly possible to create the image in progressive qualities from the same stream though some clever technical co-operation from both sides would be nessecary.

Are you grabbing pictures from a server in your control or from other url's?

If you control the server you could query a php script with image quality parameters and get them in succession though personally I think that's a waste of bandwidth.

Why not just indicate the image is loading and put a place holder image, and when the high quality image is downloaded just replace it?

I'm sorry i couldn't help you by telling you how to do it the first way although it's something I may try to implement myself in some spare time.

manno23
  • 184
  • 1
  • 9
  • There is only one image on server. Basically, all this quality changes should show the loading progress. – Sver Jun 12 '11 at 10:59
0

My finding is that iOS can progressively decode & render Progressive JPEG with NYXImagesKit (see How do I display a progressive JPEG in an UIImageView while it is being downloaded? ), but Android doesn't seem to have a library like that.

Community
  • 1
  • 1
Tian Bai
  • 33
  • 5