10.7.12

ImageMagick - Marcas de agua, convertir imagenes a PDF, redimensionar... todo desde la consola.

se me ocurrio poner marcas de agua en algunas imagenes del blog y despues de un rato de luchar con gimp y ante mi resistencia a moverme a una pc con photoshop en ese momento me dispuse a buscar alternativas cuando me acorde de este software q no usaba hacia unos años. encima ni siquiera tuve q instalarlo en debian xq ya viene incluido en la instalacion normal. como de costumbre la solucion siempre esta a mano, solo hay q saber encontrarla... y re-aprender a usarla xq no me acordaba casi nada... xD

imagemagick es una suite para manipulacion de imagenes q puede leer muchisimos formatos y puede hacer lo mismo q la mayoria de este tipo de softwares con la pequeñisima diferencia q con este podemos hacer todo desde la consola. haciendo posible, entre otras cosas, convertir imagenes x medio de simples scripts de batch, como x ejemplo setear un cron q ponga marcas de agua en un set de imagenes q se agregan automaticamente en periodos de tiempo X. y todo sin abrir el photoshop... increible no?

entre otras cosas facilmente se puede convertir entre formatos, transformar (resize, rotate, crop, flip, trim), transparencias, blur, sharpen, tint, crear gifs animados, insertar texto, identificacion, composite, soporte para imagenes de giga y tera-pixel... etc, etc, etc, etc, etc....

en la consola no hay un comando "imagemagick" sino un set de comandos q sirven para realizar las distintas acciones, como "convert", "identify" o "composite". si no esta incluido en la distribucion que estas usando simplemente anda al gestor de paquetes y agregalo o en debian/ubuntu:

apt-get install imagemagick

y en fedora/centos:

yum install ImageMagick (con las mayusculas como estan)


watermark


es bastante facil poner una marca de agua (watermark), solamente necesitamos una imagen con la firma, texto o lo q sea la marca. en mi caso hice una imagen transparente con el texto de la url de la web para que solo se marquen los caracteres pero si quieren pueden usar una imagen cuadrada normal, es cosa de ir probando...

para superponer las dos imagenes usamos el comando composite de la siguiente forma:

composite -watermark 50 -gravity center marcadeagua.gif imagen.jpg imagenfinal.jpg

"imagenfinal.jpg" es la suma de las dos anteriores, sin en cambio queremos sobreescribirla, perdiendo el original, se puede poner el mismo nombre de salida. para composite tenemos las opciones "watermark", "dissolve" y "blend" que todas sirven en este caso, el 50 es la cantidad de la mezcla. con gravity seteamos la posicion de la imagen, las opciones validas para gravity son:

None
Center
East
Forget
NorthEast
North
NorthWest
SouthEast
South
SouthWest
West
Static



redimensionar, girar, convertir...


con el comando convert podemos hacer muchas cosas, para hacer un resize a 200px:

convert -resize 200 archivo.jpg archivosalida.jpg

obviamente no es necesario q sean jpg, puede ser cualquier tipo de imagen en todos los casos. para girar 90 grados:

convert -rotate 90 archivo.jpg archivosalida.jpg

para convertir de un formato a otro es tan facil como esto:

convert archivo.jpg archivo.gif

o:

convert archivo.gif archivo.bmp

crear un pdf con un set de imagenes:

convert *.jpg archivosalida.pdf

a la inversa:

convert archivo.pdf archivosalida.jpg

genera una imagen por cada pagina en el pdf, para seleccionar rango de paginas:

convert archivo.pdf[0-19] archivosalida.jpg

seria interminable enumerar todas las cosas q se pueden hacer, en la pagina del desarrollador se puede encontrar info mas completa:

http://www.imagemagick.org/

tambien existen numerosas interfaces para poder usar imagemagick en forma grafica, algunas son magickcore, magickwand y perlmagick, aunque la verdad q su mejor utilidad esta en la consola.

No hay comentarios: