Can ImageMagick return the image size?

2019-03-09 22:08发布

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

4条回答
贼婆χ
2楼-- · 2019-03-09 22:33

You could use an extra call to identify:

convert -size 320x240 image.jpg; identify -format "%[fx:w]x%[fx:h]" image.jpg
查看更多
何必那么认真
3楼-- · 2019-03-09 22:38

If you specify option -verbose, convert prints:

original.jpg=>scaled.jpg JPEG 800x600=>100x75 100x75+0+0 8-bit sRGB 4.12KB 0.020u 0:00.009
                                       ^^^^^^
查看更多
小情绪 Triste *
4楼-- · 2019-03-09 22:46

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:

identify -ping -format '=> %w %h' image.jpg
=> 643x796

(so does [fx:w] and [fx:h])

I had to use

identify -ping -format '=> %[width] %[height]' image.jpg
=> 2678x3318

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)

identify -ping image.jpg
image.jpg PAM 2678x3318=>643x796 643x796+0+0 16-bit ColorSeparation CMYK 2.047MB 0.000u 0:00.000

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.

查看更多
男人必须洒脱
5楼-- · 2019-03-09 22:53

-ping option

This option is also recommended as it prevents the entire image from being loaded to memory, as mentioned at: https://stackoverflow.com/a/22393926/895245 :

identify -ping -format '%w %h' image.jpg

Tested on ImageMagick 6.7.7, Ubuntu 14.04.

See also: Fast way to get image dimensions (not filesize)

查看更多
登录 后发表回答