$ convert  your.jpg  -transparent white  your.pngconvert -flatten img1.png img1-white.pngconvert -transparent '#FFFFFF' nontransparent.gif transparent.pngconvert -size 3200x3200 tile:single_tile.png final.pngmontage -geometry +0+0 -background transparent *png montage.pngconvert before.png -negate after.pngconvert large_image.png -resize 16x16! favicon.icoconvert input.jpg -resize 250x90 output.jpgconvert input.jpg -resize '250x90^' output.jpgThis code reads in the image, copys it with +clone, resizes and saves it. Then resizes and saves the next size. The part of the code within the ( ) has no effect on any of the other part of the code.
convert input.jpg \( +clone -resize 600x600 -write first_save.jpg +delete \) -resize 60x60 thumbnail.jpgDefining the size of the jpg when loading it will speed up the resizing process. This is done by adding the -size option.
convert -define jpeg:size=250x90 input.jpg -resize 250x90 output.jpg
I also once needed to add numbers to a individual parts of a tiled image. I found it easier to script this with Ruby rather than use the shell's looping constructs:
cmd = (0..324).to_a.inject([]) do |cmd,n| 
  y=(n/25*32)+15; x=((n%25)*32)+15
  cmd << "-draw 'fill red text #{x},#{y} \"#{n}\"'"
end
convert img.png #{cmd.join(' ')} annotated_img.png