2009-09-29 9 views
5

Tengo una serie de imágenes de entrada que contienen múltiples imágenes más pequeñas, todas ellas en una sola fila. Todas las imágenes contenidas son del mismo tamaño. Entonces, por ejemplo, la imagen input.png puede ser 480x48 y contiene 10 48x48 imágenes, todas en una fila.¿Cómo escribir un script bash que corte las imágenes en pedazos usando la imagen mágica?

Utilizando la herramienta imagemagick convert (o cualquier otra herramienta suministrada con la suite imagemagick predeterminada), quiero escribir un script bash que tome una imagen de entrada, el número de imágenes para cortar y luego las recorta en imágenes individuales .

La interacción del usuario que puedo hacer, pero no he podido obtener convert para hacer el corte real. ¿Alguien puede sugerir algo? De la lectura de las páginas del manual, creo que esto debería funcionar:

convert 'input.png[0x0+48+48]' output.png

pero me da un error:

convert: no pixels defined in cache tb_icons_l.png' @ magick/cache.c/OpenCache/3572. convert: No IDATs written into file 1.png' @ coders/png.c/PNGErrorHandler/1391.

¿Alguna idea?

Respuesta

5

Creo que ha cambiado la posición y el tamaño. Proveedores:

convert 'input.png[48x48+0+0]' output.png 

La tercera imagen sería:

convert 'input.png[48x48+96+0]' output.png 

O

convert 'input.png[48x48+0+96]' output.png 
+0

Gracias, ¡qué idiota! – Thomi

Cuestiones relacionadas