He hecho un Shell script en Bash con una lista de comandos de ImageMagick lo pueden descargar haciendo click en este link, espero que les guste.
ImageMagick es un conjunto de utilidades de código abierto1 para mostrar, manipular y convertir imágenes, capaz de leer y escribir más de 200 formatos. ImageMagick es publicado bajo la Licencia Apache.
Características
El software consiste principalmente en un conjunto de utilidades de línea de comandos para manipular imágenes. ImageMagick no tiene una Interfaz gráfica de usuario propia como Adobe Photoshop o GIMP. Sin embargo, incluye una interfaz de X Window llamada IMDisplay y una API para diversos lenguajes de programación. El programa usa los números mágicos para identificar el formato de las imágenes.
Algunas aplicaciones Web como MediaWiki, phpBB, y vBulletin, pueden usar ImageMagick para generar miniaturas en reemplazo de GD. También es usado por otros programas como LyX para convertir imágenes. ImageMagick también integra una API de Perl llamada PerlMagick,3 además de otras APIs gráficas.
Conversión de formatos
Una de las características básicas de ImageMagick es la de convertir imágenes a diversos formatos de manera precisa.
Manipulación de color y Paleta de colores
El número de colores en una imagen puede ser reducido arbitrariamente usando Cuantificación y esto se hace de manera inteligente seleccionando el color más prominente en un conjunto de pixeles de la imagen. Nótese que muchas otras aplicaciones de manejo de imágenes no son compatibles con una paleta de colores de un número arbitrario de colores. Si, por ejemplo, se reduce una imagen de 13 colores a través de ImageMagick, algunas aplicaciones la abrirán correctamente, pero otros la verán como corrupta.
Una capacidad relacionada es la posterización, que también reduce el número de colores de una imagen. La diferencia con la cuantificación de color estándar es que la paleta final se seleccionan sobre la base de una ponderación del color prominente de un conjunto de pixeles de una imagen, mientras que la posterización crea una paleta de colores suavemente distribuida en todo el espectro en la imagen. Mientras que con la cuantización de color estándar, todos los valores de color finales son los que se encontraban en la imagen original, mientras que los valores de color en una imagen de póster puede no haber estado presente en la imagen original, pero se encuentran entre los valores de color original.
Tramado
Un control preciso se proporciona para el Tramado que se produce durante los cambios de color y el sombreado, incluyendo la capacidad de generar tramados de semitonos.
Reescalado de video
Desde el lanzamiento de marzo de 2011, ImageMagick agregó soporte para Reescalado de Video o Seam Carving. Esta característica permite, por ejemplo, ajustar el aspecto de una imagen 16:9 a una de 4:3 sin distorsionar la imagen final.
OpenCL
ImageMagick puede usar OpenCL, obteniendo aceleración por hardware de la GPU para el procesado de imágenes.
Distribución
ImageMagick es multiplataforma, y corre en Microsoft Windows y sistemas basados en Unix, incluyendo Mac OS X, Linux, Solaris, y FreeBSD. El código fuente puede ser compilado para otros sistemas como AmigaOS 4.0 y MorphOS.
Software relacionado
GraphicsMagick es una bifurcación de ImageMagick 5.5.2 creada en 2002, enfatizando la estabilidad de la API e interfaz de usuario de los lanzamentos multiplataforma. GraphicsMagick emergió tras diferencias irreconciliables de los desarrolladores.
Shell script en BASH con una lista de comandos de ImageMagick
#!bin/bash
# Nombre: imagemagick.sh
# Autor: viriato
# Origen: comunidad exdebian.org
# Lenguaje: BASH
# Licencia: GPL
# Propósito: manipulación de imágenes con ImageMagick
# Dependencias:
# Código:
# Fuentes: https://www.imagemagick.org/script/index.php
clear
function menu {
echo
echo 'SCRIPT CON UNA LISTA DE COMANDOS IMAGEMAGICK'
echo
echo '__________________________MENU____________________ '
echo
echo 'Lista de opciones:'
echo
echo '1) Redimensionar una imagen usando porcentajes'
echo '2) Redimensionar una imagen usando pixels'
echo '3) Comprimir una imagen modificando su calidad'
echo '4) Rotar una imagen'
echo '5) Añadir texto a una imagen'
echo '6) Creación de un imagen thumbnail o copia en miniatura'
echo '7) Recortar una imagen con crop'
echo '8) Cambiar el formato a colección de imágenes'
echo '9) Conversión de una imagen en otra utilizando resample'
echo '10) Convertir una colección de fotos en un documento PDF'
echo '11) Extraer imágenes de un documento PDF'
echo '12) Poner bordes de color sólido o con cierto grado de transparencia a una imagen'
echo '13) Poner borde en 3D trasparente'
echo '14) Efecto implode con una imagen'
echo '15) Usar efecto monocromo en una imagen'
echo '16) Usar efecto paint en una imagen'
echo '17) Usar efecto wave en una imagen'
echo '18) Usar efecto vignette en una imagen'
echo '19) Usar efecto sepia en una imagen'
echo '20) Usar efecto negate en una imagen'
echo '21) Usar efecto foto Polaroid en una imagen'
echo '22) Usar efecto motion-blur en una imagen'
echo '23) Modificar el brillo y el contraste en una imagen'
echo '24) Usar el efecto blur en una imagen'
echo '25) Usar el efecto sharpen en una imagen'
echo '26) Hacer flip o invertir una imagen de arriba a abajo'
echo '27) Hacer flop o invertir una imagen de izquierda a derecha'
echo '28) Obtener información detallada de la imagen'
echo '29) Usar el GUI de ImageMagick'
echo '30) Conocer los colores utilizados en una imagen'
echo '31) Unir varias imágenes dentro de una imagen'
echo '32) Disolver una imagen sobre otra imagen'
echo '33) Usar efecto charcoal en una imagen'
echo '34) Añadir texto a una imagen mediante una marca de agua'
echo '35) Salir del script'
}
function write_option {
echo
echo 'Escribe una opción de 1 a 35:'
read write_option
}
# 1) Redimensionar el ancho y el alto de una imagen en porcentajes
function option_01 {
clear
echo
echo 'REDIMENSIONAR EL ANCHO Y EL ALTO DE UNA IMAGEN EN PORCENTAJES'
echo
echo 'Introduce el nombre de la imagen original con la extensión (P.e: image.jpeg):'
read old_image
echo
echo 'Introduce el valor del ancho de la imagen en porcentaje (P.e: 50):'
read width
echo
echo 'Introduce el valor del alto de la imagen en porcentaje P.e:50):'
read height
echo
echo 'Introduce el nombre de imagen redimensionada con la extensión:'
read new_image
echo
convert $old_image -sample $width%x$height% $new_image
}
# 2) Redimensionar el ancho y el alto de una imagen en pixels
function option_02 {
clear
echo
echo 'REDIMENSIONAR EL ANCHO Y EL ALTO DE UNA IMAGEN EN PIXELS'
echo
echo 'Introduce el nombre de la imagen original con la extensión (P.e: image.jpeg):'
read old_image
echo
echo 'Introduce los valores de ancho y alto de la imagen en pixel (P.e:720x576):'
read widthxheight_values
echo
echo 'Introduce el nombre de imagen redimensionada con la extensión:'
read new_image
echo
convert $old_image -resize $widthxheight_values $new_image
}
# 3) Comprimir una imagen modificando su calidad
function option_03 {
clear
echo
echo 'COMPRIMIR UNA IMAGEN MODIFICANDO SU CALIDAD'
echo
echo 'ADVERTENCIA: ESTE COMANDO SOBRESCRIBE EL ARCHIVO ORIGINAL'
echo
echo 'Introduce el nombre de la imagen original con la extensión (P.e: image.jpeg):'
read image
echo
echo 'Introduce el valor de la calidad de imagen (P.e: 85):'
read quality_value
echo
mogrify -quality $quality_value $image
}
# 4) Rotar una imagen
function option_04 {
clear
echo
echo 'ROTAR UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión (P.e: image.jpeg):'
read old_image
echo
echo 'Para rotar hacia la derecha indica el número de grados como un número positivo (P.e: 90)'
echo 'Si quieres rotar hacia la izquierda indica el número de grados como un número negativo (P.e: -90)'
echo
echo 'Introduce el valor de rotación:'
read rotation_value
echo
echo 'Introduce el nombre de imagen redimensionada con la extensión'
read new_image
echo
convert $old_image -rotate $rotation_value $new_image
}
# 5) Añadir texto a una imagen
function option_05 {
clear
echo
echo 'AÑADIR TEXTO A UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión (P.e: image.jpeg):'
read old_image
echo
echo 'Introduce el tipo de fuente (P.e: helvetica):'
read font_name
echo
echo 'Introduce el color de la fuente (P.e: white):'
read color_font
echo
echo 'Valores posibles de gravity: northwest, north, northeast, west, center, east, southWest, south, southeast'
echo
echo 'Introduce el valor de gravity (P.e: center):'
read gravity_value
echo
echo 'Introduce el tamaño de la fuente (P.e: 36):'
read pointsize_value
echo
echo 'Introduce los valores de annotate (P.e: +0+50):'
read annotate_value
echo
echo 'Introduce el texto (P.e: vacaciones de verano):'
read text
echo
echo 'Introduce el nombre de imagen comentada con texto con la extensión (P.e: image.jpeg):'
read new_image
echo
convert $old_image -font $font_name -fill $color_font -gravity $gravity_value -pointsize $pointsize_value -annotate $annotate_value "$text" $new_image
}
# 6) Creación de una imagen thumbnail o copia en miniatura 80x60 a partir de una imagen. Este tamaño no es real del todo, puesto que ImageMagick advertirá que la imagen puede quedar deformada y automáticamente la ajustará
function option_06 {
clear
echo
echo 'CREACIÓN DE UNA IMAGEN THUMBNAIL O COPIA EN MINIATURA 80x60'
echo
echo 'Introduce el nombre de la imagen original con la extensión (P.e: image.jpeg):'
read old_image
echo
echo 'Introduce el nombre de la imagen thumbnail o copia en miniatura:'
read thumbnail_image
echo
echo 'Introduce el ancho y el alto de la resolucioón de la imagen thumbnail (P.e: 80x60):'
read widthxheight_values
convert $old_image -sample $widthxheight_values $thumbnail_image
}
# 7) Recortar una imagen con crop
function option_07 {
clear
echo
echo 'RECORTAR UNA IMAGEN CON CROP'
echo
echo 'Introduce el nombre de la imagen original con la extensión (P.e: image.jpeg):'
read old_image
echo
echo 'Hay que especificar el ancho y el alto de la imagen y las coordenadas X e Y y que toman como referencia el ángulo superior izquierdo de la imagen'
echo
echo 'Width (ancho): 640'
echo 'Height (alto): 480'
echo 'coordenada X: 50'
echo 'coordenada Y: 100'
echo
echo 'Sintaxis: convert -crop 640x480+50+100 old_image new_image'
echo
echo 'Introduce los valores de crop siguiendo el ejemplo de la sintaxis:'
read crop_values
echo
echo 'Introduce el nombre de la imagen final con la extensión (P.e: image.jpeg):'
read new_image
echo
convert $old_image -crop $crop_values $new_image
}
# 8) Cambiar el formato a la colección de imágenes con el comando mogrify y el modificador -format:
# Reducir tamaño imagen PNG: convert input.png -background white -alpha remove -alpha off -resize 256 -quality 0 +dither -colors 255 output.png
# Reducir tamaño imagen JPG: convert input.jpg -resize 700 -quality 50 output.jpg
function option_08 {
clear
echo
echo 'CAMBIAR EL FORMATO A LA COLECCIÓN DE IMÁGENES CON EL COMANDO MOGRIFY Y EL MODIFICADOR -FORMAT:'
echo
echo 'Introduce el formato de imagen que desee para transformar una coleccion de imagenes'
read image_format
echo
echo 'Introduce el formato de la colección de imágenes'
read image_ext
echo
mogrify -format $image_format *.$image_ext
}
# 9) Conversion de una imagen en otra utilizando resample
function option_09 {
clear
echo
echo 'CONVERSIÓN DE UNA IMAGEN EN OTRA UTILIZANDO RESAMPLE'
echo
echo 'Introduce el nombre de la imagen original con la extensión (P.e: image.jpeg):'
read old_image
echo
echo 'Introduce el nombre de la imagen final'
read new_image
echo
echo 'Introduce los puntos por pulgada (ppp o dpi) (P.e: 72):'
read resample_values
echo
convert $old_image -resample $resample_values $new_image
}
# 10) Convertir una colección de fotos en un documento PDF
function option_10 {
clear
echo
echo 'CONVERTIR UNA COLECCIÓN DE FOTOS EN UN DOCUMENTO PDF'
echo
echo 'Introduce el formato de la colección de imágenes'
read image_ext
echo
echo 'Introduce el nombre del documento que almacenar la colección de las imágenes'
read document
echo
convert *.$image_ext $document.pdf
}
# 11) Extraer imágenes de un documento PDF
function option_11 {
clear
echo
echo 'EXTRAER IMAGENES DE UN DOCUMENTO PDF:'
echo
echo 'Introduce el nombre del documento PDF sin la extensión que contiene las imágenes:'
read document
echo
echo 'Introduce el nombre de la extensión de colección de imagenes del documento PDF:'
read image_ext
convert $document.pdf image%04d.$image_ext
}
# 12) Poner borde de color sólido o con cierto grado de transparencia a una imagen
# Para saber los colores disponibles para bordes, fondos y textos tenemos el comando -list color
function option_12 {
clear
echo
echo 'PONER BORDE A UNA IMAGEN DE COLOR SÓLIDO O CON CIERTO GRADO DE TRANSPARENCIA' 5x5
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el nombre de la imagen con borde con la extensión:'
read new_image
echo
echo 'Introduce el color del borde:'
read color_name
echo
echo 'Introduce el ancho y el alto del borde (P.e: 5x5):'
read widthxheight
echo
convert -bordercolor $color_name -border $widthxheight $old_image $new_image
}
# 13) Poner borde en 3D transparente.
# Para bordes algo más elaborados podéis usar las opciones de -mattecolor y -frame con los modificadores -bordercolor y -border.
function option_13 {
clear
echo
echo 'PONER BORDE A UNA IMAGEN EN 3D TRANSPARENTE'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el nombre de la imagen con borde con la extension:'
read new_image
echo
echo 'Introduce el ancho y el alto del borde (P.e: 5x5):'
read widthxheight
echo
convert $old_image -raise $widthxheight $new_image
}
# 14) Usar efecto implode en una imagen
function option_14 {
clear
echo
echo 'USAR EFECTO IMPLODE CON UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el valor del efecto implode (P.e: 0.5):'
read implode_value
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -implode $implode_value $new_image
}
# 15) Usar efecto monocromo en una imagen
function option_15 {
clear
echo
echo 'USAR EFECTO MONOCROMO EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el nombre de la imagen con el efecto monocromo:'
read new_image
convert $old_image -monochrome $new_image
}
# 16) Usar efecto paint en una imagen
function option_16 {
clear
echo
echo 'USAR EFECTO PAINT EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el valor del efecto paint (P.e: 5):'
read paint_value
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
convert $old_image -paint $paint_value $new_image
}
# 17) Usar efecto wave en una imagen:
function option_17 {
clear
echo
echo 'USAR EFECTO WAVE EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el valor del efecto wave (P.e:10x50):'
read wave_values
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -wave $wave_values $new_image
}
# 18) Usar efecto vignette en una imagen
function option_18 {
clear
echo
echo 'USAR EFECTO VIGNETTE EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el valor del efecto vignette (P.e: 100x100):'
read vignette_values
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -vignette $vignette_values $new_image
}
# 19) Usar efecto sepia en una imagen
function option_19 {
clear
echo
echo 'USAR EFECTO SEPIA EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el valor del efecto sepia (P.e: 80):'
read sepia_tone_value
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -set colorspace RGB -sepia-tone $sepia_tone_value% $new_image
}
# 20) Usar efecto negate en una imagen
function option_20 {
clear
echo
echo 'USAR EFECTO NEGATE EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -negate $new_image
}
# 21) Usar efecto foto Polaroid en una imagen
function option_21 {
clear
echo
echo 'USAR EFECTO FOTO POLAROID EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el valor del ángulo para la foto (P.e: 0):'
read angle_value
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -polaroid $angle_value $new_image
}
# 22) Usar efecto motion-blur en una imagen
function option_22 {
clear
echo
echo 'USAR EFECTO MOTION-BLUR EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce los valores de radio,sigma y ánglulo de la imagen (P.e: 30x30+30):'
read motion_blur_values
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -motion-blur $motion_blur_values $new_image
}
# 23) Modificar el brillo y el contraste en una imagen
function option_23 {
clear
echo
echo 'MODIFICAR EL BRILLO Y EL CONTRASTE EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce los valores de brillo y contraste de la imagen (P.e: 30x70):'
read brightness_contrast_values
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -brightness-contrast $brightness_contrast_values $new_image
}
# 24) Usar el efecto blur en una imagen
function option_24 {
clear
echo
echo 'MODIFICAR EL EFECTO BLUR EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce los valores de blur de la imagen (P.e: 0x1.5):'
read blur_values
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -blur $blur_values $new_image
}
# 25) Usar el efecto sharpen en una imagen
function option_25 {
clear
echo
echo 'MODIFICAR EL EFECTO SHARPEN EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce los valores de sharpen de la imagen (P.e: 0x3.0):'
read sharpen_values
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -sharpen $sharpen_values $new_image
}
# 26) Hacer flip o invertir una imagen de arriba a abajo
function option_26 {
clear
echo
echo 'HACER FLIP O INVERTIR UNA IMAGEN DE ARRIBA A ABAJO'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -flip $new_image
echo
}
# 27) Hacer flop o invertir una imagen de izquierda a derecha
function option_27 {
clear
echo
echo 'HACER FLOP O INVERTIR UNA IMAGEN DE IZQUIERDA A DERECHA'
echo
echo 'Introduce el nombre de la imagen original con la extensión:'
read old_image
echo
echo 'Introduce el nombre de la imagen final con la extensión:'
read new_image
echo
convert $old_image -flop $new_image
}
# 28) Obtener información detallada de la imagen
function option_28 {
clear
echo
echo 'OBTENER INFORMACIÓN DETALLADA DE LA IMAGEN'
echo
echo 'Introduce el nombre de la imagen para obtener información:'
read image
identify -verbose $image
}
# 29) Usar el GUI de ImageMagick
function option_29 {
clear
echo
echo 'USAR EL GUI DE ÍMAGEMAGICK'
echo
echo 'Introduce el nombre de la imagen:'
read image
echo
display $image
}
# 30) Conocer los colores utilizados en una imagen
function option_30 {
clear
echo
echo 'CONOCER LOS COLORES UTILIZADOS EN UNA IMAGEN'
echo
echo 'Introduce el nombre de la imagen:'
read image
echo
identify -list color $image
}
# 31) Unir varias imágenes dentro de una imagen
function option_31 {
clear
echo
echo 'UNIR VARIAS IMÁGENES DENTRO DE UNA IMAGEN'
echo
echo 'Introduce la lista de imágenes (P.e: 01.png 02.png...04.png)'
read image_list
echo
echo 'Íntroduce "-append" si la quieres unir en posicion vertical'
echo 'o "+append" la quieres unir en posicion horizontal:'
read sign_append
echo
echo 'Introduce el nombre de la imagen'
read new_image
echo
convert $image_list $sign_append $new_image
}
# 32) Disolver una imagen sobre otra imagen
function option_32 {
clear
echo
echo 'DISOLVER UNA IMAGEN SOBRE OTRA IMAGEN'
echo
echo 'Íntroduce una imagen:'
read image
echo
echo 'Introduce la imagen de fondo:'
read wall_image
echo
echo 'Introduce el valor de dissolve (0-100) (P.e: 20):'
read dissolve_value
echo
echo 'Valores posibles de gravity: northwest, north, northeast, west, center, east, southWest, south, southeast'
echo
echo 'Introduce el valor de gravity:'
read gravity_value
echo
echo 'Introduce el nombre de la imagen final:'
read new_image
echo
composite $image -dissolve $dissolve_value -gravity $gravity_value $wall_image $new_image
}
# 33) Usar efecto charcoal en una imagen
function option_33 {
clear
echo
echo 'USAR EFECTO CHARCOAL EN UNA IMAGEN'
echo
echo 'Íntroduce una imagen:'
read old_image
echo
echo 'Introduce el valor radius del efecto charcoal (P.e: 0.5):'
read charcoal_radius
echo
echo 'Introduce el nombre de la imagen final:'
read new_image
echo
convert $old_image -charcoal $charcoal_radius $new_image
}
# 34) Añadir una marca de agua con texto a una imagen
function option_34 {
clear
echo
echo 'AÑADIR UNA MARCA DE AGUA CON TEXTO A UNA IMAGEN'
echo
echo 'Introduce las dimensiones de la imagen con la marca de agua (P.e: 400x200):'
read widthxheight
echo
echo 'Introduce el nombre de la fuente (P.e: helvetica):'
read font_name
echo
echo 'Introduce el valor del tamaño de la fuente (P.e: 25):'
read pointsize_value
echo
echo 'Introduce el valor de espaciado entre las letras del textoo (P.e: 1):'
read kerning_value
echo
echo 'Valores posibles de gravity: northwest, north, northeast, west, center, east, southwest, south, southeast'
echo
echo 'Introduce el valor de gravity:'
read gravity_value
echo
echo 'Introduce el color de la sombra de la fuente (P.e: black):'
read color_01
echo
echo 'Introduce los valores de annonate para la sombra de la fuente (P.e:330x330+0+0):'
read annotate_values_01
echo
echo 'Introduce el texto de la marca de agua:'
read text
echo
echo 'Introduce el color de la fuente (P.e: white):'
read color_02
echo
echo 'Introduce los valores de annonate para la fuente (P.e:330x330+2+2):'
read annotate_values_02
echo
echo 'Introduce el valor de dissolve (P.e: 20):'
read dissolve_value
echo
echo 'Introduce el nombre de la imagen sin marca de agua:'
read old_image
echo
echo 'Introduce el nombre de la imagen que llevará la marca de agua:'
read new_image
echo
convert -size $widthxheight xc:none -font $font_name -pointsize $pointsize_value -kerning $kerning_value -gravity $gravity_value -fill $color_01 -annotate $annotate_values_01 "$text" -fill $color_02 -annotate $annotate_values_02 "$text" water_mark_image.png && composite -dissolve $dissolve_value% -tile water_mark_image.png $old_image $new_image && rm water_mark_image.png
}
# 35) Salir del script
function option_35 {
echo 'Salir del script'
}
write_option=0
go_out=35
while [ $write_option -ne $go_out ];
do
clear
menu
write_option
if [ $write_option -ge 1 ] && [ $write_option -le 35 ];
then
clear
case $write_option in # Acciones para las diferentes opciones del menú
1)
option_01
;;
2)
option_02
;;
3)
option_03
;;
4)
option_04
;;
5)
option_05
;;
6)
option_06
;;
7)
option_07
;;
8)
option_08
;;
9)
option_09
;;
10)
option_10
;;
11)
option_11
;;
12)
option_12
;;
13)
option_13
;;
14)
option_14
;;
15)
option_15
;;
16)
option_16
;;
17)
option_17
;;
18)
option_18
;;
19)
option_19
;;
20)
option_20
;;
21)
option_21
;;
22)
option_22
;;
23)
option_23
;;
24)
option_24
;;
25)
option_25
;;
26)
option_26
;;
27)
option_27
;;
28)
option_28
;;
29)
option_29
;;
30)
option_30
;;
31)
option_31
;;
32)
option_32
;;
33)
option_33
;;
34)
option_34
;;
35)
option_35
;;
esac
else
echo '¡No ha introducido una opción correcta!'
fi
echo
echo 'Pulse una tecla...'
read
done
Ejemplos de uso:
1) Instalar ImageMagick desde el terminal en modo root:
# apt install imagemagick
2) Copia el script en la siguiente ruta /usr/local/bin/imagemagick.sh para poder ejecutarlo desde cualquier directorio
3) Concede permisos de ejecución en modo root:
#chmod + x imagemagick.sh
4) Ejecuta el script en modo usuario:
$ bash imagemagick.sh
Fuentes:
https://www.imagemagick.org/script/index.php
https://es.wikipedia.org/wiki/ImageMagick