python

Presentando a WaterPy: una aplicación de escritorio para poner marcas de agua

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

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

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

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 %

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

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 aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.