epeg

What is Epeg?

From the README file:

 An IMMENSELY FAST JPEG thumbnailer library API.

 Why write this? It's a convenience library API to using libjpeg to load JPEG
 images destined to be turned into thumbnails of the original, saving
 information with these thumbnails, retrieving it and managing to load the image
 ready for scaling with the minimum of fuss and CPU overhead.

 This means it's insanely fast at loading large JPEG images and scaling them
 down to tiny thumbnails. It's speedup will be proportional to the size
 difference between the source image and the output thumbnail size as a
 count of their pixels.

 It makes use of libjpeg features of being able to load an image by only
 decoding the DCT coefficients needed to reconstruct an image of the size
 desired. This gives a massive speedup. If you do not try and access the pixels
 in a format other than YUV (or GRAY8 if the source is grascale) then it also
 avoids colorspace conversions as well.

 Please see the full documentation for Epeg for more details.

epeg was a stand-alone utility that is now included in the Enlightenment project. The Maemo sources for epeg [L1 ] compile without a change in Kubuntu. There is also a PHP extension for epeg [L2 ].

 Where to find the source?
 * http://maemo.gitorious.org/maemo-af/epeg
 * http://svn.enlightenment.org/svn/e/OLD/epeg/

 Dependencies: libjpeg.
 License: BSD. 

 When compiling from the repositories above, the libraries (libepeg.a etc) are hidden inside the src/lib/.libs/ directory.

 Epeg as a command line utility:

 Usage: ./epeg [options] input.jpg thumb.jpg
  -v,  --verbose
  -w,  --width=<width>[%]   set thumbnail width [% of input]
  -h,  --height=<heigth>[%] set thumbnail heigth [% of input]
  -m,  --max=<maximum>       reduce max(w,h) to maximum, with aspect preserved
  -c,  --comment=<comment>   put a comment in thumbnail
  -q,  --quality=<quality>   set image quality (0-100)

How about TCL?

tclepeg is an initial effort to create a loadable epeg library for Linux.