Подтвердить что ты не робот

Может ли ImageMagick вернуть размер изображения?

Я использую ImageMagick из командной строки для изменения размеров изображений:

convert -size 320x240 image.jpg

Однако я не знаю, как определить размер конечного изображения. Поскольку это пропорциональный масштаб изображения, очень возможно, что новое изображение имеет размер 100x240 или 320x90 (не 320x240).

Можно ли вызвать команду "convert" для изменения размера изображения и возврата новых размеров изображения? Например, псевдокод:

convert -size 320x240 -return_new_image_dimension image.jpg   // returns the new resized image dimensions
4b9b3361

Ответ 1

Вы можете использовать дополнительный вызов identify:

convert -size 320x240 image.jpg; identify -format "%[fx:w]x%[fx:h]" image.jpg

Ответ 3

Я не уверен в формате %w и %h. Пока Photoshop говорит, что моя фотография 2678x3318 (и я действительно доверяю Photoshop), identify дает мне:

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

(также [fx: w] и [fx: h])

Мне пришлось использовать

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

Я не знаю, что происходит здесь, но вы можете видеть оба значения на стандартном выходе (где ширина и высота перед = = являются правильными)

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

В документации указано, что% w - это текущая ширина, а% [ширина] - оригинальная ширина. Смешение.

%w и %h могут быть правильными для большинства применений, но не для каждого изображения.

Ответ 4

Если вы укажете опцию -verbose, конвертируйте отпечатки:

original.jpg=>scaled.jpg JPEG 800x600=>100x75 100x75+0+0 8-bit sRGB 4.12KB 0.020u 0:00.009
                                       ^^^^^^