antivirus
Óptima protección antivirus: Soluciones de seguridad en Internet de G Data para PC.

miércoles, 24 de marzo de 2010

Transformar archivos gráficos usando "convert" (Linux)

Hay ocasiones en que necesitamos transformar en archivo de imagen de forma rápida. En los S.O. modernos encontraremos herramientas basadas en ventanas muy fáciles de usar. Sin embargo, disponer de una herramienta de línea de comando es muy útil, sobre todo cuando queramos hacer un script (archivo por lotes) para automatizar una tarea.

En Linux disponemos del comando "convert", que entre otras muchas opciones, nos permite reducir el tamaño de la imagen (escalado), la calidad, o transformar entre formatos (png, jpg, gif, etc).

La forma más sencilla de usarlo para pasar un archivo de PNG a JPG sin cambiar tamaño ni calidad es:
convert  antiguo.png  nuevo.jpg

Si queremos reducir el tamaño (alto y ancho) a la mitad, respetando el aspecto:
convert  -scale 50%  antiguo.png  nuevo.jpg

Y si queremos reducirle el tamaño y también la calidad al 80% (con esto conseguimos un archivo mucho más pequeño):
convert  -scale 50%  -quality 80%  antiguo.png  nuevo.jpg

Si tenemos un montón de archivos y queremos aplicar la misma transformación a todos a la vez, podemos crearnos un bucle. En el siguiente ejemplo vemos cómo ir tomando uno por uno cada archivo PNG y pasándolo a JPG:
for img in *.png; do
   filename=${img%.*}
   convert  "$filename.png"  "$filename.jpg"
done

La siguiente orden (bastante compleja por cierto) hace algo similar pero al mismo tiempo va reduciendo la calidad de la imagen de salida:
find . -name "*png" | xargs -l -i basename -s ".png" "{}" | xargs -l -i convert -quality 85% "{}.png" "{}.jpg"

Por último, dos comandos bastante útiles. El primero nos da información detallada del formato, dimensiones, paleta de color, etc de un archivo de imagen cualquiera:
identify  imagen.jpg

Y el segundo nos permite hacer una captura de una región rectangular de la pantalla y guardarlo en un PNG:
import  arch.png

Más información en:
http://www.soton.ac.uk/~fangohr/computing/imagemagick.html
http://xahlee.org/img/imagemagic.html

No hay comentarios:

Publicar un comentario