Makethumbs creates a web pages and reduced images given a bunch of photos in half a dozen steps:
makethumbs.sh
and rotate.sh
are scripts
to create polished, static image galleries suitable for the
web or for a CD-ROM, given a bunch of JPEGs in a directory.
makethumbs is most commonly used in conjunction a digital
camera. Do you want to put a batch of pictures on the web for
people to browse? Once the images are on your system, makethumbs
will give you usable web pages with zero extra work. If you have
more than five seconds to spend on your pictures, makethumbs
allows for lots of customization, labeling, and image descriptions.
The goals of makethumbs are
There are many other image gallery programs. Within the category of programs that don't import all your images into a database or depend on dynamic PHP/CGI scripting, I believe makethumbs.sh is one of the best around. Many of these programs break some of my stated goals--they generate fancy HTML that acts oddly/requires certain browsers, or they make big databases to track and display your images eighteen ways from Sunday, or they touch your original images, or they only run on Winblows, or they require all sorts of ancillary software to work correctly.
makethumbs.sh and rotate.sh are in the public domain - share and enjoy.
makethumbs behaves reasonably by default. It has a huge number of configuration options to change its behavior to suit your site. For the most common configuation changes, see the examples section below.
A preliminary makethumbs reference manual is on-line with complete documentation for all configuration options if you'd like to take makethumbs further. The DocBook source for the manual is also available if you'd like that for some reason.
I have two image galleries on-line to show makethumbs off:
Here are a couple of people who've customized makethumbs' output style in interesting ways:
You can get the latest version of makethumbs.sh
.
You can get the latest version of rotate.sh
.
There are a few old versions of makethumbs on-line if you'd like to see what's been changing.
makethumbs needs assistance for the low level image
manipulation. ImageMagick
will fulfill all its needs nicely, or the
jpeg reference library (for
djpeg
and cjpeg
) and the
netpbm collection of
programs. They're all already installed on any Linux system,
and they can be easily had for any Unix system. makethumbs
will decide whether to use ImageMagick or
cjpeg
/djpeg
+netpbm at run-time.
makethumbs is not dependant on any EXIF handler programs, but it adds some nice features if you have at least one of them installed. See my EXIF readers page for more information.
makethumbs will run on MacOS X 10.4 without any additional software installed. It's helpful if you can install jhead so makethumbs can see the EXIF information, but it's not required.
makethumbs will work on a Windows system if you had cygwin installed and you installed ImageMagick on it. ImageMagick compiles trivially, but I didn't see pre-built binaries around. It's slower than on a Unix system, but it works.
If you want to contact me about makethumbs, I can be reached as
makethumbs
AT molenda.com
.
Want to get mail about makethumbs developments? I'll send out a note every couple of months if I've done anything noteworthy - get subscribed here:
More portability fixes. Both scripts have been tested on Solaris 2.7 and Cygwin, and will work correctly on these OSes as long as a shell more capable than their /bin/sh can be found (e.g. ksh, bash). Two more fixes for interoperating with older versions of ImageMagick. Two or three small bug fixes in makethumbs.sh are included as well.
Portability fixes. I was using some extended regular expressions in my egrep calls which were not very portable, either to Solaris or to older versions of GNU grep. I was also using a flag to ImageMagick's identify program which was only added a couple years ago. These problems would occur for Solaris or older Linux distribution users (e.g. RedHat 6.1). Thanks to Lloyd Cha and Tom Limoncelli for the bug reports.
New .makethumbsrc variable added, preferred_image_tools. It may be set to either imagemagick or netpbm if you would prefer that makethumbs use one or the other. makethumbs will ignore your preference if only one of these two image manipulation tools are around, but if both are present, it will do as you've asked. The functionality should be the same with either tool choice, but if another portability problem comes up with makethumbs and older versions of these tools, users will have a way to direct makethumbs towards working utilities
Thanks to Alain Labarthe, French translations for makethumbs are now available. Thanks Alain!
For older news, see the old announcements page.