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