I wrote a set of Python/PIL scripts to arrange image collages for print calendars, web backgrounds, ...etc. In one particular script I use to build backgrounds, the images remain the same height but they can be different widths. The images built are seamless. Here's an example of some comic book covers in a collage using one of these scripts: