convert compress and resize imagemagick

resize - compress - Solo reduce imágenes más grandes usando ImageMagick a una proporción



mogrify compress (2)

Al usar ImageMagick, puedo tener fácilmente una captura de pantalla de lo que quiero, pero me gustaría cambiar su tamaño para usar menos espacio. Encontré esto :

convert screen.jpg -resize 1280x1024/! screen.jpg

Pero me gustaría cambiar el tamaño según el tamaño más grande (ancho O alto) y el otro (alto O ancho) también se redimensionará proporcionalmente.

Por ejemplo, digamos que quiero que toda mi imagen se redimensione a 600px en su tamaño más ancho / alto:

  • 1920x1200 => el ancho es el más grande: 600x375
  • 600x1200 => la altura es la más grande: 300x600

¿Cómo puedo hacer eso con ImageMagick? (o al menos, definiendo un tamaño máximo (solo el ancho, por ejemplo)).

¡Gracias por tu ayuda!

Nota: ¿es posible implementarlo automáticamente con el comando de import ?


Para preservar la relación de aspecto, puede reducir la imagen en una escala determinada:

convertir -resize 50% screen.jpg

O utilice un área de píxeles:

convertir -resize 180000 @ screen.jpg

Esto también soplaría imágenes pequeñas al área especificada. Si desea que ImageMagick reduzca sus imágenes grandes pero no las toque, utilice el operador ">":

convertir -resize ''180000 @>'' screen.jpg

Tenga en cuenta que luego debe citar el argumento de la geometría para evitar que su shell interprete el signo ">" como redirectores de archivos.

Consulte la documentación de ImageMagick para estas y otras opciones: http://www.imagemagick.org/script/command-line-processing.php#geometry


Para preservar la relación de aspecto:

convert -resize 600x600 screen.jpg:

  • 1920x1200 => 600x375
  • 600x1200 => 300x600
  • 150x300 => 300x600
  • 300x150 => 600x300

convert -resize 600x600/> screen.jpg:

  • 1920x1200 => 600x375
  • 600x1200 => 300x600
  • 150x300 => 150x300 (no se redimensiona a tamaño mayor)
  • 300x150 => 300x150 (no se redimensiona a tamaño más grande)