38

I've looked around for this, and can't find an easily implemented solution.

Currently I'm working on an application that deals with panoramas. As they come out of the batch stitch process, the dimensions average 18000x4000. Using ImageMagick, how can I downscale those images to a specific height value while maintaining aspect ratio?

According to the manual, the convert operation takes in both height and width to resize to while maintaining the same aspect ratio. What I'd like is to put in 600 and 1000 in my existing resize script function and have both a regular viewable image as well as a reduced size.

2
  • IIRC it uses the smaller dimension as base for the resize operation, i.e. if you specify something like 20000x600 it will use the 600 height as the base to calculate the converted width so it maintains the aspect ratio. Did I made myself clear?
    – devius
    May 30, 2012 at 12:07
  • Does it need to be ImageMagick? Phatch commands can be scripted, the 'fit' command does exactly what you're looking for. photobatch.wikidot.com/action-fit
    – Veazer
    May 30, 2012 at 12:08

2 Answers 2

51

According to the documentation of ImageMagick I suggest to use -geometry x600, whereas x600 means that the new image has a heigth of 600 px with the same aspect ratio as the old image.


For a single image you could run:

convert input.png -geometry x600 output.png

If you prefer to convert all images of a folder in one run, switch to it (i.e. cd ~/Pictures/panoramas/) and use

mogrify -geometry x600 *.png

But be careful with that, because it overwrites the original image files. To avoid that you could

  1. create a new folder (mkdir ~/Pictures/panoramas/small)
  2. copy the images into this folder (cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small) and
  3. edit the images in this new folder (cd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png).
3

to resize all files in a folder, can use something like

mogrify -resize 800x1094! *jpg

--- change size and extension as suitable

3
  • 1
    This does not maintain the aspect ratio of the source image
    – Rob
    Jan 1, 2015 at 20:01
  • 1
    @Rob if you want to keep aspect ration leave the "!" out.
    – Erick
    Feb 28, 2017 at 8:01
  • Thanks @Erick, it's pretty old but I was likely pointing out that this answer doesn't answer correctly as the OP wanted to retain the aspect ratio. :D
    – Rob
    Feb 28, 2017 at 10:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .