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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

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

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 hora hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

2 horas hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

1 día hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

1 semana hace

Esta web usa cookies.