From: Mike Williams on
"Larry Serflaten" <serflaten(a)usinternet.com> wrote in message
news:eGiHu7XZKHA.4920(a)TK2MSFTNGP04.phx.gbl...

> I just tried using a large thumbnail image (3500, 3500 twips)
> and found the array method also ran out of memory.

As far as the limitation on the number of thumbnails you can store you'll
probably find a big improvement if you use DIBSections for the thumbnails,
which can be a bit smaller than an Autoredraw image and which are not so
fussy about the kind of memory they'll live in.

Regarding the speed issue, the loading from disk of the original is not the
biggest bottleneck. In fact you'll probably find that the code runs four or
five times faster when you run it on a folder full of equivalent .bmp
images, even though the amount of data being loaded from disk is in such a
case probably about ten times as much as it would be for jpgs. The majority
of time is actually taken up in decoding the jpg into a bitmap. This can be
improved by using the Intel jpg library, which can be up to four times
faster at decoding, depending on how you use it. Otherwise, you could grab
the "stored by the camera" thumbnails directly from the jpg file (unless the
jpg has since been modified and / or saved by an application which does not
preserve them). Check out:

http://www.vbaccelerator.com/home/VB/Code/Libraries/Shell_Projects/Thumbnail_Extraction/Thumbnail_Extractor_Code.asp

Mike



From: Mike Williams on
"Mike Williams" <Mike(a)WhiskyAndCoke.com> wrote in message
news:Og1lI7dZKHA.740(a)TK2MSFTNGP04.phx.gbl...


.. . . Oops. The code at the link I posted extracts the Shell thumbnail, so
it will considerably speed up the process only where Shell thumbnails
actually exist (although I suspect that is the case on most systems). There
are other examples out there though that show how to extract the camera
thumnails from the jpg file (although I can't seem to put my hand on one at
the moment).

Mike