Hoy vengo a presentar una aplicación de escritorio muy simple pero funcional en lo que realiza. Se trata de un software que hace una cosa: poner marcas de agua.
Entre sus principales características encontramos:
- Open source (aquí el repositorio)
- Multiplataforma gracias a que lo que usa es igualmente multiplataforma
- Permite modificar la transparencia de la marca de agua
- La marca de agua puede ponerse en cualquier posición de la imagen, es decir, en la esquina inferior, superior, etcétera. En modo horizontal se puede colocar en: izquierda, derecha o centro. Y en modo vertical arriba, abajo o en el centro.
- Permite procesar directorios completos de imágenes, o una imagen
- Da la posibilidad de agregar una separación entre los límites de la imagen
Veamos cómo fue que la hice y por qué la hice, así como un ejemplo de uso.
Nota: puedes descargarlo aquí.
Motivación y un poco de historia
Si has leído mi blog, te darás cuenta que a veces adorno mis posts con capturas de código (tomadas con polacode) o pongo capturas de pantalla de lo que se explica; pero casi todas tienen marca de agua de mi sitio.
Pues bien, las primeras veces lo hacía con Photoshop aunque suene descabellado, pero de ahí comencé a utilizar un script que usaba Python y PIL (el cual ya es open source y lo encuentras en el repositorio con el nombre marca_agua.py
)
Lo malo de ese script es que está mal programado y en algunos casos no acomoda bien la imagen, así como tampoco le quita opacidad a la misma. Por otro lado, tiene que ser llamado desde la línea de comandos cada vez, y era tedioso escribir tanto.
Por eso es que decidí mejorarlo un poco y así nació WaterPy. Ya sé que seguramente por ahí hay más software (con mejores características) que hace lo mismo, pero quise crearlo para mi uso personal y ahora lo libero. Además, funciona de maravilla.
Vídeo demostrativo
Aquí puedes ver un vídeo que acabo de subir a YouTube sobre su forma de uso:
Ejemplo de lo que hace esta aplicación de escritorio
Nota antes de todo: las imágenes las tomé de internet y las eliminé después de usarlas para demostrar esto, si tienen derechos de autor o algo así, pueden pedir que las elimine, no quiero problemas.
Voy a demostrar cómo se posicionan las imágenes. Para ello tengo la siguiente carpeta:
Esa es de una de mis series favoritas, Rick y Morty (pobre hombre pájaro, por cierto). Y la marca de agua será de Aku Aku, el amigo o ayudante de Crash. Selecciono eso en el programa:
La pondré arriba a la izquierda, y listo. Queda así:
Eso fue con un 20 % de opacidad, entre menor opacidad, más transparente. Aquí está la misma pero con una opacidad de 90 %:
Así se puede ir jugando con cada una. En la siguiente demostración, a cada imagen se le pone la marca de agua en una distinta posición (tiene el 50 de opacidad):
Si nos fijamos bien, Aku Aku aparece en 9 posiciones distintas. También se podría jugar con la separación que tiene la imagen con respecto a su posición.
Tecnologías utilizadas y un poco de datos técnicos
Se utiliza Python usando Pillow para el procesamiento de imágenes; lo demás son simples algoritmos y cálculos. Me gustó mucho la forma en la que se le quita opacidad a la imagen, pues fue hecho a mano.
Para crear el instalador se utiliza PyInstaller, la interfaz gráfica es gracias a appJar, una envoltura de TKinter.
Puedes ver más información y tutoriales en el repositorio que ya dejé al inicio.
El futuro del programa
Si hay bugs o esas cosas, las arreglaré. En caso de que se necesiten nuevas características igualmente serán añadidas.
¿Por qué WaterPy?
Bueno, muchos paquetes de Python terminan en Py. Y como marca de agua es watermark, decidí llamar a mi programa WaterPy.
Pingback: Establecer imagen PNG como icono de app de Android - Parzibyte's blog
Pingback: Eliminar valor de diccionario en Python - Parzibyte's blog
Pingback: Validar número entero y flotante (int y float) en Python - Parzibyte's blog