¿Cómo crear una miniatura cuadrada / recortada usando ImageMagick? Recortando como abajo.
fuente
¿Cómo crear una miniatura cuadrada / recortada usando ImageMagick? Recortando como abajo.
Esto se explica en la documentación oficial de ImageMagick en "Cortar la miniatura para ajustar" :
Una alternativa, en lugar de rellenar la imagen para que se ajuste al tamaño de miniatura específico que queremos, es cortar las partes de la imagen que no se ajustan al tamaño final.
Por supuesto, esto significa que realmente pierde algunas partes de la imagen original, particularmente los bordes de la imagen, pero el resultado es una miniatura ampliada de la parte central de la imagen. Este es generalmente (pero no siempre) el tema principal de la imagen, por lo que es un método práctico de creación de miniaturas.
A partir de IM v6.3.8-3, se agregó el indicador de opción de cambio de tamaño especial '^' para facilitar esto. Simplemente cambiamos el tamaño usando esta bandera y luego recortamos las partes de la imagen que desbordan el tamaño deseado.
Y en el contexto de un comando de ejemplo:
convert -define jpeg:size=200x200 hatching_orig.jpg -thumbnail 100x100^ \
-gravity center -extent 100x100 cut_to_fit.gif
Ignacio se vinculó a la documentación correcta, sin embargo, la pegaré en línea aquí por conveniencia:
Del mismo modo, lo siguiente es para GraphicsMagick:
Explicación:
-size 200x200
le dice al decodificador jpeg que solo necesitamos esta resolución para que pueda ahorrar memoria y leer la imagen fuente más rápido-thumbnail 100x100^
cambio de tamaño rápido haciendo el lado más corto 100- gravity center
centrar la próxima operación-extent 100x100
aplicar la imagen a un lienzo de 100x100+profile "*"
no guarde ninguna metainformación en el JPEG (haciendo que la imagen resultante sea más pequeña)fuente
Esa es una manera más simple de hacerlo:
El siguiente comando cambia el tamaño del lado más pequeño a 100 píxeles y recorta un cuadrado de 100x100. Puede agregar un
-strip
comando para reducir el tamaño del archivo.A diferencia de otros, no está tratando de ahorrar memoria. En cambio, hace lo que quieres, y no más. Además, no aumentará las imágenes.
fuente
Estoy usando graphicsmagick para generar miniaturas de tamaño preciso, pero estoy rellenando la imagen con un tablero de ajedrez en lugar de recortar el saliente.
Opciones explicadas.
fuente
Creo que estás buscando algo como:
donde
100x100
es el tamaño del rectángulo final y50x50
el desplazamiento .fuente
convert -thumbnail 100x100+50+50 input_image.jpg output_image.jpg
, para obtener más información, verifique la respuesta de Igancio Vázquez como ejemplo o consulte la documentaciónEste comando recorta a un cuadrado y luego cambia el tamaño a 150x150
Aquí hay más opciones disponibles: http://www.imagemagick.org/Usage/thumbnails/#square
fuente