www script org mac convert imagemagick mogrify

script - imagemagick x86



ImageMagick: cómo cambiar el tamaño proporcionalmente con mogrify sin fondo (3)

El ejemplo al que se vincula utiliza este comando:

mogrify / -resize 80x80 / -background white / -gravity center / -extent 80x80 / -format jpg / -quality 75 / -path thumbs / *.jpg

Primero, mogrify es un poco peligroso. Manipula sus originales en línea y sobrescribe los originales. Si algo sale mal, ha perdido sus originales y se queda atascado con los resultados mal hechos. En su caso, los -path thumbs la -path thumbs sin embargo, alivian este peligro, porque se aseguran de que los resultados se escriban en los pulgares del subdirectorio

Otro comando de ImageMagick, convert , puede conservar sus originales y hacer la misma manipulación que mogrify :

convert / input.jpg / -resize 80x80 / -background white / -gravity center / -extent 80x80 / -quality 75 / thumbs/output.jpg

Si desea el mismo resultado, pero simplemente no las extensiones de lienzo en blanco (originalmente se agregaron para hacer el resultado una imagen cuadrada de 80x80), simplemente deje de lado el parámetro -extent 80x80 (el fondo -background white y el gravity center son superfluos):

convert / input.jpg / -resize 80x80 / -quality 75 / thumbs/output.jpg

o

mogrify / -resize 80x80 / -format jpg / -quality 75 / -path thumbs / *.jpg

Estaba siguiendo este ejemplo http://cubiq.org/create-fixed-size-thumbnails-with-imagemagick , y es exactamente lo que quiero hacer con la imagen, con la excepción de tener las sobras de fondo (es decir, los bordes blancos ). ¿Hay una manera de hacer esto, y posiblemente recortar el fondo blanco? Hay otra manera de hacer esto? El nuevo tamaño debe ser proporcional, por lo que no solo quiero establecer un límite de ancho de tamaño o un límite de altura, sino también un tamaño proporcional de la imagen.


Este es el comando que utilizo cada vez que quiero redimensionar todo a 1920x y mantener la relación de aspecto.

mogrify -path. -resize 1920x1920 -format "_resized.jpg" -quality 70 * .jpg


Sé que este es un hilo viejo, pero al usar el indicador -write con el indicador -set, uno puede escribir en archivos en el mismo directorio sin sobrescribir los archivos originales:

mogrify -resize 80x80 / -set filename:name "%t_small.%e" / -write "%[filename:name]" / *.jpg

Como se señaló en http://imagemagick.org/script/escape.php t es el nombre de archivo sin extensión y% e es la extensión. Así que la salida de image.jpg sería una imagen en miniatura image_small.jpg.