Cambiar el tamaño del lienzo en ImageMagick. El parámetro extent

15 Agosto 2018 by 0 Comment Multimedia 3828 Views
Valora este artículo
(0 votos)

Ya sabemos algunas formas de recortar una imagen con ImageMagick con el parámetro -crop:
Ajustar una imagen a un determinado tamaño
Cortar horizontal y verticalmente una imagen
Cortar horizontal o verticalmente una imagen
Pero, ¿y si queremos hacer más grande el lienzo? Para eso tenemos el parámetro -extent. Su uso básico es:

convert $origen -extent $anchoX$alto $destino

Con esta instrucción definimos el tamaño del fichero destino, sea este mayor o menor que el de la imagen origen. 

Cambiar el tamaño del lienzo por uno más pequeño

Veamos una imagen:
farola.jpg

Y queremos quedarnos únicamente con el escudo. Haremos un recorte de 200x150 pixeles. 
convert farola.jpg -extent 200x150 recorte.jpg
recorte.jpg
Ooooops... Queríamos un león y sólo se le ve un trozo de las garras. Esto ha pasado porque, al no definir la gravedad, ha tomado como referencia el punto 0x0. Así que, como lo que queríamos era la parte central de la imagen, lo definiremos con -gravity center:
convert farola.jpg -gravity center -extent 200x200 leon.jpg

leon.jpg

Hacer más grande el tamaño del lienzo




Como hemos visto, -extent permite cambiar el tamaño del lienzo, por lo que también podemos hacer el lienzo más grande. Vamos verlo:

convert leon.jpg -gravity center -extent 300x300 leonenmarcado.jpg

leonenmarcado.jpg

Ahora tenemos el león centrado en un lienzo blanco de 300x300 pixeles. 

Definir el color del lienzo

Por defecto, ImageMagick hace blanco el color del fondo, pero esto podemos cambiarlo. El parámetro es -background $color. 
Vamos a hacer otro lienzo de 300x300 píxeles, pero esta vez que sea negro:

convert leon.jpg -gravity center -background black -extent 300x300 leonenmarcadoennegro.jpg


leonenmarcadoennegro.jpg
Si en lugar de utilizar un color determinado lo que quisiéramos es un fondo transparente, por ejemplo para superponer a otra imagen, lo que haríamos es definir el color de fondo como "transparent"
convert leon.jpg -background Transparent -gravity center -extent 300x300 leonsobretransparente.png

leonsobretransparente.png

 

Nótese aquí que he estado utilizando todas las imágenes en formato jpg menos la última, que he puesto leonsobretransparente.png, ya que el formato png admite transparencias mientras que el jpg no admite transparencia. 

Información adicional

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

¡Atención! Este sitio usa cookies y tecnologías similares.

Si no cambia la configuración de su navegador, usted acepta su uso. Saber más

Acepto

Vea nuestra política de cookies y enlaces de interés aquí