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:

Carpeta no marcada

Carpeta no marcada

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:

Poner marca de agua, primer ejemplo

Poner marca de agua, primer ejemplo

La pondré arriba a la izquierda, y listo. Queda así:

Imagen de Rick, Squanchy y hombre pájaro con marca de agua de Aku Aku

Imagen de Rick, Squanchy y hombre pájaro con marca de agua de Aku Aku

Eso fue con un 20 % de opacidad, entre menor opacidad, más transparente. Aquí está la misma pero con una opacidad de 90 %:

Marca de agua con opacidad del 90 %

Marca de agua con opacidad del 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):

Posibilidad de posicionamiento de marca de agua con WaterPy

Posibilidad de posicionamiento de marca de agua con WaterPy

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.

Estoy interesado en trabajar contigo de manera remota para llevar tu idea a la realidad, formar parte de tu equipo de desarrolladores, ayudarte con tu tarea, dar asesorías y todo lo relacionado con tecnología y programación. Contáctame para más información
No te vayas sin seguirme en Twitter, Facebook y GitHub
Si tienes dudas déjalas en un comentario, pero asegúrate de seguirme antes como agradecimiento (no te cuesta nada y me ayudas mucho)


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB. Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron. Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scripts La plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C. Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

3 Comments

Validar número entero y flotante (int y float) en Python - Parzibyte's blog · enero 18, 2019 a las 12:38 pm

[…] validar que la separación horizontal y vertical sean enteros en WaterPy, tuve que implementar una forma de saber si un número es entero en […]

Eliminar valor de diccionario en Python - Parzibyte's blog · enero 20, 2019 a las 1:00 am

[…] de los diccionarios se utiliza en WaterPy para mandar la ruta de la marca de agua y el directorio que se va a […]

Establecer imagen PNG como icono de app de Android - Parzibyte's blog · febrero 2, 2019 a las 3:00 pm

[…] te animo a leer más sobre Android en mi blog. Igualmente aprovecho para invitarte a probar WaterPy, la aplicación de escritorio con la que puse la marca de agua a las imágenes del […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: