Hola,
algo que llevamos haciendo hace algún tiempo pero nunca habíamos escrito aquí en el blog. Además muchas veces tengo que volver a buscar en internet como se hacía, así que es el momento de compilar aquí lo que hay que hacer para cambiar el tamaño (resize), girar (rotate) y añadir marca de agua (watermark) en nuestras fotos antes de ponerlas en el blog (si se quiere claro).
Haremos esto usando linux y las librerías de Imagemagick. Creo que casi cualquier distribución de linux vendrá con estas librerías instaladas, sin duda, Ubuntu (nosotros usamos Xubuntu) las trae.
Aprovecharemos este tutorial para enseñar como usar el mismo comando para todas las fotos de una carpeta. El mejor método es copiar a carpetas por separado todas las fotos a las cuales queremos aplicar determinada operación, eso facilitará mucho el comando. Entonces, para aplicar un comando a todos los ficheros de una carpeta, usamos el ciclo for en bash en el terminal de linux. Acordaros que el símbolo inicial «$» no se usa, apenas se escribe para indicar que la linea es un comando.
$ for i in $(ls); do OPERACION; done
esto dice que para cada fichero que nos da el comando ls haga la operación OPERACION, los ficheros serán utilizados por orden alfabética.
A partir de ahora solo es necesario cambiar la OPERACION por lo que queramos hacer.
¡OJO! las instrucciones que presentamos a continuación está hechas para substituir los ficheros originales, por lo que aconsejamos a trabajar sobre una copia de las imágenes y NO sobre las imágenes originales.
Cambiar el tamaño de las figuras:
Normalmente las fotos que hacemos son de alta calidad y en el blog por cuestiones de privacidad o por no gastar tantos datos de internet solemos subir fotos de menor tamaño. Para cambiar el tamaño de las fotos de modo masivo debemos:
$ for i in $(ls); do convert -resize NUM $i $i; done
donde NUM es el numero de pixeis de ancho. Podéis leer más sobre el comando resize aquí.
Después podemos girar las fotos:
$ for i in $(ls); do convert -rotate "90" $i $i; done
más sobre el comando rotate aquí.
Para añadir una marca de agua:
Preparamos la marca de agua como queramos. La marca de agua que nosotros solemos usar está hecha con LibreOffice Draw y es simplemente un texto exportado a PNG con fondo transparente. Realmente lo que vamos a enseñar aquí no es a meter una marca de agua pura pero simplemente a sobreponer dos imágenes, la marca de agua y la imagen original. Esto es mucho más fácil que añadir una marca de agua pura, si lo único que queremos es un efecto simple. Podemos jugar con las transparencias de la marca de agua preparando previamente esas transparencias en el programa que usemos para preparar la marca de agua.
Entonces para sobreponer nuestra marca de agua con la imagen:
$ for i in $(ls); do composite -gravity SouthWest MARCA_DE_AGUA $i $i; done
donde MARCA_DE_AGUA es la imagen de nuestra marca de agua. El comando -gravity nos permite poner la marca de agua donde queramos con las opciones North, South, etc.. ver más aquí.
Finalmente, como crear gifs animados a partir de fotos:
En este último buceo que hicimos estuvimos probando el modo ráfaga. La verdad es que salieron unas fotos muy chulas y las preparamos en series de gifs para el blog, podéis mirar la entrada aquí.
Para crear un gif os irá bien copiar todas las fotos que queréis poner en el gif para una carpeta aparte y con correr:
$ convert -loop 0 -delay 100 *.JPG image.gif
la extensión «JPG» es un ejemplo, deberéis utilizar la extensión de vuestros ficheros. Esto creará un gif con las figuras organizadas por orden alfabética. El numero después de -delay indica el tiempo en milisegundos que tarda cada foto en pasar.
1 respuesta »