Hoy:

10 abr 2011

ImageMagick: diapositivas

Empezaremos mostrando la magia de este paquete de comandos fabricándonos una página con formato A4 donde vamos a incrustar unas diapositivas con algunas de las fotos que hemos hecho esta primavera.
Usemos la lógica para montar el script:
Creamos un directorio de trabajo para no liarlo todo. En mi caso: diapositivas. Ahora colocamos todas nuestras fotos en este directorio ( concretamente 28) que vamos a distribuir en la página de esta forma: 4x7.
Las fotos estań convenientemente numeradas, y sería conveniente que tuvieran el mismo tamaño: Primavera-%3d.jpg
      Primavera-001.jpg  -  Primavera-002.jpg  -  Primavera-003.jpg  .......
Ahora procedemos a organizar el asunto:
  • Necesitamos una página A4:
      Para crearla usaremos uno de los maravillosos comando de  ImageMagick, convert :
      convert -size 595x842 xc:white paginaA4.png

        Lo que nos puede parecer extraño aquí es la opción xc, pues bien,
        se  trata de "canvas image", es decir, un lienzo, que en este caso es
        de  color blanco.

  • Ya tenemos el folio A4, ahora redimensionamos las fotos y las preparamos para posicionarlas en nuestro folio, creando la imagen paso1.png. Viene en nuestra ayuda el comando montage:
      montage  -quality 100  -geometry  +4+4  -resize 130x  -tile  4x7 Primavera*   paso1.png

      Está claro: redimensionamos las imágenes a 130 píxeles de ancho,
       el alto guarda la proporción.
       Le decimos que las ponga como celdas,  azulejos (tile), y que las
       distribuya en 4 filas por 7 columnas.
      -geometry  +4+4 son los espacios entre ellas.

  •  Y ahora colocamos nuestras flamantes diapositivas en el folio paginaA4.png, creando otra imagen: paso2.png . Para ello, usamos otro comando, composite :
composite   -quality 100  -geometry +0+70+0+0  -gravity north   -dissolve 100%  paso1.png  paginaA4.png  paso2.png

  • Y, por fín, le añadimos un texto en la parte superior indicando que se trata de nuestro índice de fotos. Otra vez usamos convert :
convert -quality 100 -fill black label:'ÍNDICE DE FOTOS' miff:- | composite -gravity north -geometry +0+12  -  paso2.png pagina-diapos.png


Todos estos comandos podemos colocarlos en un script para que se ejecute la magia; lo llamamos diapositivas.sh y lo hacemos ejecutable (chmod +x  diapositivas.sh). Abrimos un terminal en el directorio, lo ejecutamos y en 4 segundos tenemos nuestra página A4 con las diapositivas. Si le interesa a alguien, aquí está mi script:
diapositivas.sh.doc

Y el proceso de forma gráfica, click en imagen para ver mejor: