Some of my thoughts:
- you may also want to upsize originals to the 800x600 ideal, not accepting images below a certain threshold, and...
- fill in (with background color?) the parts required to give you the nominal 800x600 size, and aspect ratio. I think imagemagick composite image technique should work here.
This will give you more control with layout. For a bit more spice, you could try using the imagemagick studio web service from within your script.
btw, 4/3 ratio screens are still dominant but not exclusive anymore, as widescreen LCDs are very affordable now. if it's worthwhile, then softcode the ratio.
the hardest line to type correctly is: stty erase ^H