Imprimir esta página

Añadir un borde a una imagen con ImageMagick

04 Septiembre 2018 by 0 Comment Multimedia 7397 Views
Añadir un borde a una imagen con ImageMagick
Valora este artículo
(0 votos)

En este artículo vamos a ver dos parámetros de convert que suelen ir de la mano: border y bordercolor. Uno genera un borde alrededor de una imagen, el otro define el color.

Vamos a ver un ejemplo de cómo trabajar con ellos. Pero primero crearemos una nueva imagen:

convert -size 500x200 xc:Black negro.png negro.png

Y ahora vamos a añadirle un borde uniforme de 5 puntos de color rojo:

convert negro.png -bordercolor Red -border 5x5 negroenmarcado.png

negroenmarcado.png

Es importante definir antes el color y después dibujar el borde. En caso de que no lo hagamos así, y escribamos antes -border que -bordercolor, conver dibujará el borde sin saber de qué color lo queremos. Y aunque se lo digamos después, el marco ya está dibujado. Veamos lo que pasa:

convert negro.png -border 5x5 -bordercolor Red negroenmarcado2.png

negroenmarcado2.png

Los dos valores de -border

He dicho que quería un borde uniforme, pero he usado dos valores para el parámetro -border. Y estoy derrochando pulsaciones de teclado, ya que si usase -border con un sólo valor, me saldría esto:

convert negro.png -bordercolor Red -border 5 negroenmarcado3.png

 

Es decir, no hace falta escribir el valor de anchura y el de largura, aunque yo lo suelo poner, porque hay veces que necesito utilizar un grosor de borde distinto para las líneas horizontales que para las líneas verticales.

El primer valor es el grosor del marco vertical. El segundo valor, el grosor de las líneas horizontales del marco.

Veamos:

convert negro.png -bordercolor Red -border 1x15 negroenmarcado4.png

negroenmarcado4.png

convert negro.png -bordercolor Red -border 15x1 negroenmarcado5.png

negroenmarcado5.png

He puesto unos valores bien diferenciados de 1 y 15 para poder ver claramenta cómo hace las líneas.

Pero también podemos usar 0 como valor. Viene muy bien para delimitar un espacio y en imágenes superpuestas hace un efecto elegante:

convert negro.png -bordercolor Red -border 0x15 negroenmarcado6.png

negroenmarcado6.png

Border con 3 y 4 valores

Podemos usar también 3 y 4 valores con -border si queremos ser felices pensando que le estamos indicando el grosor de cada una de las líneas pero, aunque no da error, no atiende más que a los dos primeros valores.

convert negro.png -bordercolor Red -border 0x15x30x50 negroenmarcado7.png

 

Para conseguir eso, es mejor crear un lienzo con xc y anexarlo con append.

Bordes encadenados

Lo que sí que podemos hacer, y puede darnos un resultado elegante, es concatenar varios border y bordercolor dentro de la misma instrucción.

convert negro.png -bordercolor Red -border 5x5 -bordercolor Black -border 5x5 -bordercolor Red -border 5x5 -bordercolor Black -border 5x5 negroenmarcado8.png

Información adicional

  • Nivel de dificultad: Bajo
  • ¿Tutorial sacado de otra web/foro?: No