I'm using ImageMagick from the command line to resize images:
convert -size 320x240 image.jpg
However, I don't know how to determine the size of the final image. Since this is a proportional image scale, it's very possible that new image is 100x240 or 320x90 in size (not 320x240).
Can I call the 'convert' command to resize the image and return the new image dimensions? For example, pseudo code:
convert -size 320x240 -return_new_image_dimension image.jpg // returns the new resized image dimensions
You could use an extra call to
identify
:If you specify option
-verbose
, convert prints:I'm not sure with the
%w
and%h
format. While Photoshop says my picture is 2678x3318 (and I really trust Photoshop),identify
gives me:(so does [fx:w] and [fx:h])
I had to use
I don't know what's going on here, but you can see both values on standard output (where the width and height before the => are the correct ones)
The documentation says %w is the current width and %[width] is original width. Confusing.
%w
and%h
may be correct for most uses, but not for every picture.-ping
optionThis option is also recommended as it prevents the entire image from being loaded to memory, as mentioned at: https://stackoverflow.com/a/22393926/895245 :
Tested on ImageMagick 6.7.7, Ubuntu 14.04.
See also: Fast way to get image dimensions (not filesize)