2009-10-12 13 views
19

estoy usando ImageMagick desde la línea de comandos para cambiar el tamaño de las imágenes:¿Puede ImageMagick devolver el tamaño de imagen?

convert -size 320x240 image.jpg 

Sin embargo, no sé cómo determinar el tamaño de la imagen final. Como se trata de una escala de imagen proporcional, es muy posible que la nueva imagen tenga un tamaño de 100x240 o 320x90 (no de 320x240).

¿Puedo llamar al comando 'convertir' para cambiar el tamaño de la imagen y devolver las nuevas dimensiones de la imagen? Por ejemplo, pseudo código:

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

Respuesta

33

usted podría utilizar una llamada extra para identify:

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

curioso, ¿por qué 'identificador-formato"% [fx: w] x% [fx: h] "' preferible a 'identificar-formato"% [w] x% [h] "'? – mark

+0

Creo que no lo es, @mark. No puedo imaginar que en 2009 el '% w' y'% h' aún no eran compatibles. Pero si 'fx:' tiene algún efecto secundario, entonces creo que también lo habría mencionado. Extraño. Haré algunas pruebas ... – Arjan

0

Si la opción de especificar -verbose, convertir impresiones:

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

No estoy seguro de que con el formato %w y %h. Si bien Photoshop dice mi foto es 2678x3318 (y realmente confío en Photoshop), identify me da:

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

(también lo hace [fx: w] y [fx: h])

tuve que usar

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

no sé lo que está pasando aquí, pero se puede ver tanto en los valores de salida estándar (donde el ancho y la altura antes de la => son los correctos)

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 dice% w es la anchura actual y% [anchura] es original de anchura. Confuso.

%w y %h pueden ser correctos para la mayoría de los usos, pero no para todas las imágenes.

Cuestiones relacionadas