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.