lunes, 3 de junio de 2024

Ahora también estoy en GitHub

¿Qué es GitHub?

GitHub es una plataforma en línea que permite a las personas y equipos trabajar juntos en proyectos de programación y otros tipos de documentos de manera colaborativa. Imagina que es una especie de "Google Drive" para programadores, donde pueden almacenar, compartir y colaborar en código.

Características principales:

  • Almacenamiento de Código: GitHub es un lugar donde los programadores guardan su código. Cada proyecto se guarda en un "repositorio" (o "repo"), que es como una carpeta que contiene todos los archivos y el historial de cambios.
  • Colaboración: Permite que múltiples personas trabajen en el mismo proyecto al mismo tiempo sin sobrescribir el trabajo de los demás. Cada uno puede hacer cambios, y luego combinar esos cambios con el trabajo de otros.
  • Control de Versiones: GitHub usa una herramienta llamada Git que rastrea todos los cambios realizados en los archivos del proyecto. Esto significa que puedes ver el historial de cada archivo y revertir cambios si es necesario.
  • Comunicación: Los usuarios pueden discutir cambios y sugerir mejoras a través de "issues" (problemas) y "pull requests" (solicitudes de cambios). Esto facilita la comunicación y la colaboración entre los equipos.
  • Código Abierto y Privado: Los repositorios pueden ser públicos (cualquiera puede verlos y usarlos) o privados (solo accesibles para personas específicas).

En resumen, GitHub es una herramienta esencial para los programadores y desarrolladores de software, ya que facilita la colaboración, el control de versiones y la gestión de proyectos de manera organizada y eficiente.


https://github.com/DrCalambre


GitHub

viernes, 31 de mayo de 2024

Como crear una Marca de Agua con GIMP

Antes de continuar, una breve descripción: 

¿Que son los canales alfa?

Imagínate que estás coloreando un dibujo en una hoja de papel. Tienes los colores y los usas para pintar las partes del dibujo que quieras. Ahora, imagina que tienes una hoja especial que no solo te permite colorear, sino que también te permite decidir qué partes del dibujo serán visibles y qué partes serán transparentes, como si pudieras hacer "agujeros" en la hoja para ver a través de ellos.

En GIMP, esta hoja especial se llama "canal alfa". El canal alfa es una especie de capa extra que cada imagen puede tener, y su función principal es controlar la transparencia de la imagen.

Colores y Transparencia: 

En una imagen normal, cada píxel tiene colores (rojo, verde y azul). Con el canal alfa, cada píxel también tiene una información adicional que dice cuán transparente es ese píxel. Esta transparencia puede ir desde completamente opaco (no puedes ver a través) hasta completamente transparente (puedes ver lo que está detrás).

Ejemplo Práctico: 

Imagina que tienes una foto de una manzana y quieres ponerla en un fondo diferente. Usando el canal alfa, puedes borrar el fondo alrededor de la manzana, haciendo que solo la manzana sea visible. Cuando pones esta imagen en otro fondo, solo verás la manzana, y el fondo original será transparente, dejando ver el nuevo fondo.

En resumen, el canal alfa es como una capa mágica que te permite controlar la transparencia de cada parte de tu imagen, permitiendo crear efectos de superposición y mezclas que serían imposibles con imágenes opacas

Paso 1: Preparar el Texto de la Marca de Agua

1. Abrir GIMP: Inicia GIMP en tu ordenador.

Gimp















2. Crear un Nuevo Documento:

  • Ve a Archivo > Nuevo....
  • Elige las dimensiones deseadas para tu marca de agua. Por ejemplo, 800x300 píxeles.

Crear imágen nueva















3. Añadir Texto:

Selecciona la herramienta de texto (la letra "A" en la caja de herramientas).

Herramienta de texto















Haz clic en el área de trabajo y escribe el texto de tu marca de agua.

Escribe el texto


Ajusta el tamaño, fuente y color del texto según tus preferencias.






Paso 2: Hacer Transparente el Fondo del Texto

Agregar una Capa Alfa:


En la ventana de Capas, haz clic derecho en la capa de fondo y selecciona Añadir Canal Alfa.

Añadir canal alfa















Añadir canal alfa




Eliminar el Fondo:


Selecciona la herramienta de selección por color (el icono de la varita mágica).

Varita mágica





Haz clic en el fondo blanco para seleccionarlo.

clic en el fondo blanco






Presiona Supr o Delete para eliminar el fondo, haciendo que sea transparente.

Suprimir el fondo





Paso 3: Ajustar la Opacidad


Bajar la Opacidad del Texto:

En la ventana de Capas, ajusta la opacidad de la capa de texto a alrededor del 30-50%, para que la marca de agua no sea demasiado intrusiva.

Ajustar opacidad 50%


Ajustar opacidad 50%







Paso 4: Exportar la Marca de Agua


Guardar la Imagen:

Ve a Archivo > Exportar Como....

Selecciona el formato PNG para preservar la transparencia (por ejemplo, marca_agua.png).

Haz clic en Exportar y ajusta las configuraciones según sea necesario.


Exportar Como...


Formato png


Exportar


























Les dejo algunas fuentes (fonts) que utilice del texto que se pueden instalar y son adecuadas para estas marcas de agua:

Great Vibes:
Es una fuente cursiva elegante y fluida, que transmite una sensación de sofisticación y personalización, ideal para firmas y marcas personales.






Playfair Display:
Esta fuente serif tiene un aire clásico y profesional, manteniendo una elegancia que puede complementar muy bien las fotografías naturales y paisajes.









Cinzel
:
Inspirada en las inscripciones romanas, Cinzel es una fuente serif que da una sensación de atemporalidad y formalidad, adecuada para la majestuosidad de las montañas.









Raleway
:
Una fuente sans-serif moderna y elegante que es muy versátil y puede dar un toque contemporáneo sin perder la profesionalidad.







Montserrat
:
Esta es una fuente sans-serif geométrica que es moderna y clara, lo que la hace ideal para marcas limpias y profesionales.







Dancing Script:
Es una fuente manuscrita que tiene un aspecto casual y amigable, perfecta si quieres darle un toque más personal y artístico.







Puedes descargar mas fuentes desde sitios confiable como Google Fonts o dafont.com.

para instalarlas puedes usar un gestor tipografico

Gestor tipográfico de antiX (font-manager)


lunes, 27 de mayo de 2024

Protege tus Fotos con Facilidad: Cómo Añadir Marcas de Agua Usando Bash con antiX

 En el mundo digital de hoy, proteger tus imágenes es más importante que nunca. Con el aumento del contenido en línea, es crucial garantizar que tu trabajo esté protegido contra el uso no autorizado. Una forma efectiva de hacerlo es mediante la aplicación de marcas de agua a tus imágenes.


marca_agua_graciela_sanz_color_blanco.png

Pero, ¿qué ocurre cuando tienes cientos, o incluso miles de imágenes que necesitan ser protegidas? Ahí es donde entra en juego la automatización.

Con el siguiente script en bash, simplificamos el proceso de aplicación de marcas de agua a gran escala. Veamos cómo funciona.

El script recorre cada imagen en el directorio especificado, obteniendo su tamaño y calculando automáticamente el tamaño proporcional de la marca de agua.


Fotografía con marca de agua

Luego, redimensiona la marca de agua para que se ajuste perfectamente a cada imagen, eliminando cualquier perfil de color incrustado para garantizar una aplicación limpia y consistente.

Finalmente, aplica la marca de agua al pie de cada imagen, con un margen inferior centrado para una presentación elegante y profesional.

Con este proceso automatizado, puedes proteger tus imágenes de manera eficiente y confiable, manteniendo tu trabajo seguro y protegido en todo momento.


Fotografía con marca de agua

 
#!/bin/bash

# --------------------------------------------------------------------------------------------------------------------------------------
# File: aplicar_marca_agua.sh
# By Julio Alberto Lascano http://drcalambre.blogspot.com/
#________          _________        .__                ___.                  
#\______ \_______  \_   ___ \_____  |  | _____    _____\_ |_________   ____  
# |    |  \_  __ \ /    \  \/\__  \ |  | \__  \  /     \| __ \_  __ \_/ __ \ 
# |    `   \  | \/ \     \____/ __ \|  |__/ __ \|  Y Y  \ \_\ \  | \/\  ___/ 
#/_______  /__|     \______  (____  /____(____  /__|_|  /___  /__|    \___  >
#        \/                \/     \/          \/      \/    \/            \/ 
# --------------------------------------------------------------------------------------------------------------------------------------
# Last modified:2024-05-28
# --------------------------------------------------------------------------------------------------------------------------------------
# Descripción del script: aplicar_marca_agua.sh
# --------------------------------------------------------------------------------------------------------------------------------------
# Uso: aplicar_marca_agua.sh -m [marca_agua] -d [directorio_imagenes] -s [factor_escala] -o [directorio_salida]
# --------------------------------------------------------------------------------------------------------------------------------------
# Este script automatiza el proceso de aplicar una marca de agua a todas las imágenes en un directorio especificado.
# A continuación se explica paso a paso lo que hace el script:
#
# 1. Verificación de comandos de ImageMagick:
#    - Se verifica si los comandos 'identify', 'convert' y 'composite' están disponibles.
#
# 2. Definición de parámetros:
#    - MARCA_DE_AGUA: Ruta de la imagen que se utilizará como marca de agua.
#    - DIRECTORIO_IMAGENES: Directorio que contiene las imágenes a las que se aplicará la marca de agua.
#    - FACTOR_ESCALA: Factor de escala que determina el tamaño proporcional de la marca de agua en relación con el ancho de la imagen original.
#    - DIRECTORIO_SALIDA: Directorio donde se guardarán las imágenes con la marca de agua aplicada.
#
# 3. Verificación de parámetros y rutas:
#    - Se verifica que todos los parámetros necesarios se han proporcionado.
#    - Se verifica que la ruta de la marca de agua y el directorio de imágenes existen.
#    - Si el directorio de salida no existe, se crea automáticamente.
#
# 4. Bucle para procesar cada imagen:
#    - Se utiliza un bucle 'for' para iterar sobre cada archivo en el directorio de imágenes especificado.
#    - Se verifica si el archivo actual en el bucle es un archivo regular utilizando la condición 'if [ -f "$IMAGEN" ]'.
#
# 5. Obtención del tamaño de la imagen:
#    - Se utiliza el comando 'identify' para obtener el tamaño de la imagen en píxeles.
#
# 6. Cálculo del tamaño de la marca de agua:
#    - Se calcula el tamaño de la marca de agua proporcional al tamaño de la imagen original, utilizando el factor de escala definido.
#
# 7. Redimensionamiento de la marca de agua:
#    - Se redimensiona la marca de agua al tamaño calculado y se elimina cualquier perfil de color incrustado para evitar advertencias.
#
# 8. Aplicación de la marca de agua:
#    - Se aplica la marca de agua al pie de la imagen con un margen inferior centrado utilizando el comando 'composite'.
#
# 9. Eliminación de archivos temporales:
#    - Se elimina el archivo temporal de la marca de agua redimensionada después de aplicarla a la imagen.
# --------------------------------------------------------------------------------------------------------------------------------------


# Verificación de comandos de ImageMagick
if ! command -v identify &> /dev/null || ! command -v convert &> /dev/null || ! command -v composite &> /dev/null
then
    echo "ImageMagick no está instalado o los comandos necesarios no están disponibles. Por favor, instálalo antes de ejecutar este script."
    exit 1
fi

# Manejo de errores
# Se añade manejo de errores para asegurar que el script se detenga si ocurre algún problema. 
# Se hace con: set -e lo que hace que el script termine si algún comando falla.

set -e

# Uso: aplicar_marca_agua.sh -m [marca_agua] -d [directorio_imagenes] -s [factor_escala] -o [directorio_salida]
while getopts "m:d:s:o:" opt; do
    case ${opt} in
        m ) MARCA_DE_AGUA=$OPTARG ;;
        d ) DIRECTORIO_IMAGENES=$OPTARG ;;
        s ) FACTOR_ESCALA=$OPTARG ;;
        o ) DIRECTORIO_SALIDA=$OPTARG ;;
        \? ) echo "Uso: aplicar_marca_agua.sh -m [marca_agua] -d [directorio_imagenes] -s [factor_escala] -o [directorio_salida]"
             exit 1 ;;
    esac
done

# Verificación de parámetros
if [ -z "$MARCA_DE_AGUA" ] || [ -z "$DIRECTORIO_IMAGENES" ] || [ -z "$FACTOR_ESCALA" ] || [ -z "$DIRECTORIO_SALIDA" ]; then
    echo ""
    echo "Uso: aplicar_marca_agua.sh -m [marca_agua] -d [directorio_imagenes] -s [factor_escala] -o [directorio_salida]"
    echo ""
    echo "Todos los parámetros (-m, -d, -s, -o) son obligatorios."
    echo "-------------------------------------------------------------------------------------------------------------"
    echo "Factor de escala para el tamaño de la marca de agua -s [factor_escala]"
    echo "Por ejemplo: -s 0.15 , un factor de escala del 15% es adecuado para la fotografia de paisajes."
    echo "-------------------------------------------------------------------------------------------------------------"
    
    
    exit 1
fi

# Verificación de la existencia de la ruta de la marca de agua
if [ ! -f "$MARCA_DE_AGUA" ]; then
    echo "La ruta de la marca de agua ($MARCA_DE_AGUA) no existe."
    exit 1
fi

# Verificación de la existencia del directorio de imágenes
if [ ! -d "$DIRECTORIO_IMAGENES" ]; then
    echo "El directorio de imágenes ($DIRECTORIO_IMAGENES) no existe."
    exit 1
fi

# Verificación de la existencia del directorio de salida
if [ ! -d "$DIRECTORIO_SALIDA" ]; then
    echo "El directorio de salida ($DIRECTORIO_SALIDA) no existe. Creando el directorio..."
    mkdir -p "$DIRECTORIO_SALIDA"
fi

contador=0
tiempo_inicio=$(date +%s)


# Aplicar marca de agua a cada imagen en el directorio
for IMAGEN in "$DIRECTORIO_IMAGENES"/*; do
    if [ -f "$IMAGEN" ] && file --mime-type "$IMAGEN" | grep -q -E "image/(png|gif|jpeg|jpg)"; then
        nombre_imagen=$(basename "$IMAGEN")
        
        # La expresión ${nombre_imagen##*.} utiliza un mecanismo de expansión de parámetros en el shell 
        # de Unix para extraer la extensión de un nombre de archivo.
        # Significa eliminar todo hasta el último punto en el nombre del archivo, y devolver lo que queda.
        
        extension_imagen="${nombre_imagen##*.}"
        
        echo "Aplicando marca de agua a $DIRECTORIO_IMAGENES$nombre_imagen -> $DIRECTORIO_SALIDA${nombre_imagen%.*}_wm.$extension_imagen"
        #echo "Aplicando marca de agua a $DIRECTORIO_IMAGENES/$nombre_imagen -> $DIRECTORIO_SALIDA/${nombre_imagen%.*}_wm.$extension_imagen"
        
        # Obtener el tamaño de la imagen (ancho x altura)
        tamano_imagen=$(identify -format "%wx%h" "$IMAGEN")
        
        # Separar el ancho y la altura
        ancho_imagen=$(echo "$tamano_imagen" | cut -d'x' -f 1)
        altura_imagen=$(echo "$tamano_imagen" | cut -d'x' -f 2)
        
        # Calcular el tamaño de la marca de agua proporcional al tamaño de la imagen
        tamano_marca=$(echo "$ancho_imagen * $FACTOR_ESCALA" | bc)
        
        # Redimensionar la marca de agua al tamaño calculado y eliminar el perfil de color
        marca_de_agua_redimensionada=$(mktemp)
        convert "$MARCA_DE_AGUA" -resize "${tamano_marca}x${tamano_marca}" -strip "$marca_de_agua_redimensionada"
        
        # Aplicar marca de agua al pie de la imagen con margen inferior centrado
        composite -dissolve 50% -gravity South -geometry +0+3 "$marca_de_agua_redimensionada" "$IMAGEN" "$DIRECTORIO_SALIDA/${nombre_imagen%.*}_wm.$extension_imagen"
        
        # Eliminar el archivo temporal de la marca de agua redimensionada
        rm "$marca_de_agua_redimensionada"
        
        # Incrementar el contador por cada imagen procesada
		contador=$((contador + 1))
    fi
done

# Calcular el tiempo total transcurrido
tiempo_fin=$(date +%s)
tiempo_total=$((tiempo_fin - tiempo_inicio))

# Convertir tiempo total a formato hh:mm:ss
horas=$((tiempo_total / 3600))
minutos=$(( (tiempo_total % 3600) / 60 ))
segundos=$((tiempo_total % 60))

# Mostrar el total de imágenes procesadas y el tiempo que tomó
echo "-------------------------------------------------------------------------------------------------------------"
echo "Total de imágenes procesadas: $contador"
# Formatear la salida
printf "Tiempo total transcurrido: %02d:%02d:%02d\n" $horas $minutos $segundos




Para utilizar el script en Debian, necesitas tener instalados los siguientes paquetes:

ImageMagick: Este paquete proporciona las herramientas identify, convert, y composite, que se utilizan en el script para manipular imágenes y aplicar la marca de agua.
Para instalar estos paquetes en Debian, puedes usar el siguiente comando:
 
sudo apt-get update
sudo apt-get install imagemagick bc