| [ Indice General ] | [ Sección Anterior ] | [ Sección Siguiente ] |
NEVEGADORES ADECUADOS PARA EL CORRECTO VISIONADO DE ESTE SITIO |
![]() |
Podemos considerar al comando [convert] como la herramienta básica de IM. Con el podemos realizar las transformaciones entre los distintos formatos de imágenes, asi como otras interesantes operaciones.
La sintaxis básica del comando responde al modelo general:
convert input [-opciones [argumentos]] output
convert [-opcion [argumentos]] input output
Donde:
Podemos obtener un listado de las opciones de que disponemos para el comando [convert] tecleando:
convert -list
El cambio de formato de imagen es la operación básica del comando [convert] . La realiza directamente, sin necesidad de opciones.
Asi, para transformar una imagen JPG denominada input.jpg en una imagen PNG, que denominariamos output.png, compondriamos la siguiente linea de órdenes:
convert input.jpg output.png
Al final de la ejecución del comando tendriamos dos imágenes: la original (input.jpg) y la transformada (output.pgn).
Vamos a ir viendo que el output de cualquier linea de órdenes ( ya sea con el comando [convert] o con otros que se irán viendo a medida que avancemos en este manual) se guardará con el formato que especifiquemos en la extensión de su nombre, con independencia del formato del input.
La linea de órdenes anterior supone que nos hallamos en el directorio en que se encuentra la imagen que deseamos transformar y, salvo que lo indiquemos en la misma linea de órdenes, la imagen transformada se localizará en el mismo directorio de la imagen original.
Observemos la siguiente linea de ordenes:
convert bilbo2.jpg /home/fotos/ria.tif
Con ella, ejecutada desde el directorio donde se encuentra la imagen bilbo2.jpg, creamos la imagen ria.tif y la almacenamos en el directorio /home/fotos. Como es de suponer, cuando no ejecutamos el comando convert desde el directorio en que se encuentra la imagen que deseemos transformar, deberemos indicar la ruta hacia su directorio en la linea de comandos:
convert /home/lupo/camara/bilbo5.jpg /home/lupo/fotos/guggen.pdf
En : [ http://www.imagemagick.org/script/formats.php] podemos consultar los distintos formatos de imágen soportados por IM.
Ejecutando la orden: convert -list format ,obtendremos un listado de los formatos soportados por nuestra versión de IM
Después del cambio de formato, el cambio del tamaño de las imágenes tal vez sea una de las operaciones mas frecuentes realizadas con IM.
Para redimensionar las imágenes utilizaremos la opción [-resize]
La sintaxis básica para esta opción seria:
convert input -resize argumento output
Los posibles argumentos de la opción [-resize] son:
Mas adelante se explicará la función de cada uno de ellos.
En el caso de querer redimensionar varias imágenes:
convert input1 -resize argumento output1 input2 -resize argumento output2
Tambien podria usarse la sintaxis "simplificada" en el caso de querer redimensionar una sola imagen:
convert -resize argumento input output
En adelante, cuando los ejemplos se refieran a la transformación de una sola imagen, utilizaremos indistintamente la sintaxis "básica" o la "simplificada".
Con [-resize ] podemos cambiar el tamaño de la imagen de distintas maneras, determinadas por la forma que demos al parámetro argumento:
Especificaremos el número de pixels horizontales (W) y el número de pixels verticales (H) de la imagen final (output), de acuerdo con la siguiente sintaxis:
convert input -resize WxH output
Por ejemplo, la orden:
convert -resize 600x400 input.jpg output.jpg
nos convierte una imagen , input.jpg , en otra , output.jpg, de unas dimensiones de 600x400 px
Si solo se especificara uno de las dos dimensiones , W o H, IM estableceria la otra con el fin de mantener las proporciones de la imagen original, así, con la siguiente orden:
convert -resize Wx input output
se redimensionaria al número de pixels especificado en W, y al número de pixels verticales (H) adecuado para mantener la proporción W/H de la imagen original. Si la orden fuera del tipo:
convert -resize xH input output
se redimensionaria al número de pixels especificado en H, y al número de pixels horizontales (W) adecuado para mantener la proporción W/H de la imagen original.
Si acabamos el argumento con el signo de exclamación ! se fuerza a IM a redimensionar la imagen exactamente a las magnitudes fijadas:
convert -resize 600x400! input.jpg output.jpg
Usar el símbolo > para
indicar a IM que solo lleve a cabo la redimensión si la magnitud W o H
de la imagen original exceden a las fijadas en la orden de redimensión.
Con el símbolo > indicaremos a
IM que lleve a cabo la redimensión solo si W y H de la imagen original
son menores que las especificadas en la orden de redimensión.
Por ejemplo, si se especifica un tamaño de redimensión de '640x480>' y el tamaño de la imagen es de 125x125, la operación no se efectuará.Sin embargo, si el tamaño de la imagen fuera de 512x512 o de 1024x1024, seria redimensionada hasta 480x480
Cuando se usen los símbolos ! > o < , la especificación del tamaño debe entrecomillarse con el fin de evitar interpretaciones no deseadas por parte de la shell.
convert -resize '640x480>' input output
Si se utiliza el símbolo ^ se indica a IM que las magnitudes establecidas son un límite mínimo.Por ejemplo, con '640x480^' indicamos que la W de la imagen redimensionada no debe ser menor de 640 y que su H no debe ser menor de 480.
Cuando utilicemos la forma "absoluta" de redimensionar imágenes debemos tener el cuenta que los valores W y H deben conservar la proporción con los de la imagen original.......... salvo que deseemos forzar "efectos especiales :-)
Podemos especificar el nuevo tamaño como porcentaje (p%) del original:
convert input -resize p% output
Por ejemplo, con la siguiente orden:
convert input.jpg -resize 20.5% output.png
la nueva imagen output.png tendria un tamaño igual al 20.5% de la imagen original ( input.jpg)
Con el redimensionamiento porcentual nos aseguramos que se conserva la proporcion W/H en la imagen transformada.
En este caso especificaríamos el área máxima (A) que deseamos tenga la imagen transformada. El área seria el resultado de multiplicar la anchura por la altura de la imagen. IM realiza la transformación respetando las proporciones entre anchura y altura de la imagen origunal. La sintaxis de esa transformación es:
convert input -resize A@ output
Veamos un ejemplo:
convert -resize 1000@ input.tif output.jpg
Si la imagen original (input.tif) tiene un tamaño de 1280x960 px, la imagen transformada (output.jpg) tendria un tamaño de 36x27 px ( area=972px, que no excede al máximo establecido y que mantiene la proporción entre la anchura y la altura, 1280/960 = 1,333; 36/27= 1,333)
Cuando usemos la opción [-resize] precedida de la opción [-filter] ( Véase mas adelante) la imagen será redimensionada con el filtro especificado.
Con la opción [-scale] tenemos otro medio de redimensionar imágenes utilizando un algoritmo más sencillo y rápido que el utilizado por [-resize]
Con [-scale] se ignorará cualquier opción [-filter] que se haya implementado.
La sintaxis de esta opción es:
convert input -scale n% output
convert input -scale W%xH% output
Cuando se utilice con el argumento n%, se escalará la imagen,a lo ancho y a lo alto, al porcentaje es pecificado por n
Cuando se utilice el argumento W%xH% se escalarán la anchura (W) y la altura (H) separadamente, de acuerdo con los porcentajes especificados.
convert input.jpg -scale 25% output.png
Con la anterior línea de órdenes las dimensiones ( horizontales y verticales) del output son el 25% de las del input. ( p.e. un input de 200x200px se redimensionaria en un output de 25x25px)
convert input.jpg -scale 50%x25% output.jpg
Con la anterior línea de órdenes la anchura (W) del output será el 50% de la del input, y la altura (H) el 25% ( p.e. un input de 200x200px se redimensionaria en un output de 100x25px).
Otra via de cambiar el "peso" de una imagen es con la opción [ -resample ]. La particularidad de esta opción es que con ella no se cambian las dimensiones de la imagen, solo su resolución.
La sintaxis de esta opción es:
convert input -resample RwxRh output
Rw= valor de la resolución
horizontal a la que queremos transformar, expresada en dpi.
Rh= valor de la resolución vertical a la
que queremos transformar, expresada en dpi.
Cuando Rw=Rh bastará con especificar un solo valor
Supongamos que disponemos de una imagen, bilbo1.jpg
de las siguientes caracteristicas:
dimensión: 340,15 x 238,65 mm
pixels: 3214 x 2255 px
resolución: 240 dpi ( puntos por pulgada) tanto de resolución
horizontal como vertical.
"peso" : 1,6 MB
Podemos bajar su resolución a 72 ppi (tando de resolución horizontal como vertical) mediante la opción [-resample] de la siguiente forma:
convert -resample 72 bilbo1.jpg bilbo1_reducida.jpg
Obtendríamos la imágen bilbo1_reducida.jpg
de las siguientes características:
dimensión: 340,08 x 238,83 mm
pixels: 964x677 px
resolución: 72 dpi
"peso": 350,3 Kb
Como vemos, hemos conseguido "adelgazar" la imagen considerablemente sin modificar apenas sus dimensiones.
Esto es aplicable solo a formatos que contengan el dato de la resolución en el mismo archivo de la imagen ( caso de JPG, TIFF y PNG).
Cuando no sea este el caso ( por
ejemplo, con el formato PDF o PSD) deberá especificarse su
resolución en la linea de órdenes mediante la opción [-density],
antes de especificar la resolución a la que desamos transformar la
imagen con [-resample].
La sintaxis, en este caso, seria:
convert -density Rw'xRh' input.pdf -resample RwxRh output.png
Rw' y Rh' son las resoluciones horizontal y vertical respectivamente que asignamos a la imagen input.pdf, en dpi. Mas adelante se tratará mas extensamente la opción [-density ]
Debemos tener en cuenta que Photoshop obtiene la información sobre la resolución de un perfil incrustado en el archivo que es de carácter propietario. Si existiera este perfil en la imagen que transformamos, Photoshop continuaria obteniendo los datos de la resolución de su propio perfil, ignorando las modificaciones que hayamos realizado mediante IM
Cuando se redimensiona una imagen, cada pixel de la nueva
imagen será el promedio de un determinado número de pixels de la imagen
original. Es mediante el proceso de "filtering" como se determina el
modo en que se "construye" cada pixel de la nueva imagen y
que color tomará.
IM suele aplicar un filtro por defecto, generalmente el Lanczos,
con el que se obtienen unos resultados aceptables. Pero nos da la
oportunidad de especificar el filtro que queramos
que se aplique en la transformación. Los filtros soportados
por IM son:
| Point | Box | Triangle | Hermite | Hanning | Hamming | Blackman | Gaussian | Quadratic | Cubic | Catrom | Mitchell | Lanczos | Bessel |Sinc |
La orden:
convert -list filter
nos mostrará la lista de filtros disponibles en la versión instalada de IM.
En : [ http://www.cit.gu.edu.au/~anthony/graphics/imagick6/resize/#filters ] encontraremos más información sobre los filtros aplicables.
Para especificar un determinado filtro la linea de comandos tomará la siguiente forma:
convert input.jpg -filter gaussian -resize 40% output.jpg
Puesto que las opciones son evaluadas en el orden en que aparecen en la linea de comandos, cuando usemos la opción [-resize] con la opción [-filter] deberemos asegurarnos de colocar esta última en primer lugar.
La opción [ -sample ] realiza
las mismas funciones que la opción [-resize]
pero con la particularidad de que se ignoran los argumentos
de [-filter].
Cuando se quiera modificar el tamaño de una imagen pero no se quiera
utilizar ningun filtro o no se quiera que se apliquen los filtros
especificados, entonces utilizar [ -sample ]: Con esta opción sencillamente eliminamos columnas y filas de pixels, por lo que su uso en determinadas imáges puede dar lugar a resultados bastante "feos" ......
convert -sample 20% input.jpg output.png
La opción [ -thumbnail ] realiza exactamente las mismas funciones que la opción [-resize], pero ignorando los perfiles de imágen almacenados en el archivo de imagen original ( input).
La sintaxis de esta opción seria :
convert input -thumbnail WxH {%}{!}{@}{<}{>}
Puede aplicarse aqui todo lo expuesto en [-resize] :
convert input.jpg -thumbnail 75x100! output.jpg
Aqui se ha utilizado la opción [ -thumbnail ] con el comando [convert], aunque tal vez sea con el comando [mogrify] con el que mas se va a utilizar.
IM nos permite generar una imagen (output) a partir de una determinada sección de la imagen original ( input).
![]() |
Para ello necesitaremos varios datos: La linea de órdenes para esta opción se ajustaria a uno de estos dos modelos: convert -crop W{%} input output convert -crop WxH {+-}x{+-}y {%} {!} input outpu La nueva imagen, output, se corresponderá con la sección
especificada en la original (input). convert -crop WxH-x-y input output La orden : convert -crop 600x400+60+90 input.jpg output.png nos generaria una nuena imagen ( output.png) cuyo contenido seria una sección de la imagen input.jpg de 600x400 px cuyo borde superior-izquierdo estaria a una distancia de 40px del borde izquierdo y a 90px del borde superior de la imagen input.jpg. |
|
En el siguiente ejemplo generamos la imagen barca.png a partir de una sección de la imagen bilbo4.png: convert -crop 160x130+30+30 bilbo4.png barca.png |
|
![]() bilbo4.png |
![]() barca.png |
Si se omiten las dimensiones x
e y, se generan toda una serie de
"baldosas" de las dimensiones especificadas en la orden,y que en su
conjunto, comprenden la totalidad de la imagen inicial.
Puede ser interesante ver como actua esta opción con lineas de órdenes
del tipo:
convert -crop 25% input output
convert -crop WxH input output
A diferencia de la opción [-crop], , la opción [ -chop ] se utiliza para eliminar filas y columnas de una imagen.
El output será la imagen original, sin las filas y columnas eliminadas.
La sintaxis de la linea de órdenes para esta opción seria la siguiente:
convert -chop WxH{+-}x{+-}y {%} input output
En este caso, con los dos primeros números ( W y H ) indicamos el tamaño de la porción de imagen a eliminar:
convert -chop 200x300+100+250 input.jpg output.jpg
Con la anterior orden eliminaríamos una columna de 200px de anchura y una fila de 300px de grosor, cuyos bordes superiores izquierdos estuvieran a 100px del borde izquierdo y a 250px del borde superior de la imagen original.
Mediante las siguientes figuras vamos a intentar ilustrar mejor el funcionamiento de la opción [-chop]:
|
Partimos de la imagen original fig1.png,cuyos elementos tienen las dimensiones que se muestran en la figura fig0.png Con la orden: convert -chop 40x33+0+0 fig1.png fig2.png obtenemos la imagen fig2.png, en la que hemos eliminado la columna azul izquierda y la fila azul superior. De igual forma podriamos obtener la imágen fig3.png , a partir de la imagen original fig1.png: convert -chop 0x50+40+125 fig0.png fig3.png En esta última operación debe notarse de que al eliminar solo una fila, la roja central, el valor de W es cero. |
![]() fig0 |
|
![]() fig1 |
![]() fig2 |
![]() fig3 |
Cuando se utiliza la opción sin especificar los valores de x e y, se elimina una porción del borde superior (fila) y otra del izquierdo (columna) del grosor especificado.
|
convert -chop 25% bcnt.jpg chop.jpg |
|
![]() bcnt.jpg (300x225px) |
![]() chop.jpg (225x169px) |
Con la opción [-trim] eliminamos cualquier pixel de los márgenes de una imagen que sean del mismo color que los de sus esquinas.
convert -trim input output
Veamos un ejemplo de la acción de la opción [-trim]
sobre la imagen maremagnum.png, comvert -trim maremagnum.png maremagnum.tif |
|
![]() maremagnum.png |
![]() maremagnum.tif |
En ocasiones podrá observarse que no se ha eliminado la totalidad del borde. Ello es debido a pequeñas variaciones en el color del borde. Para solucionar este problema debemos "ajustar" más la definición del color que deseamos eliminar. Para ello utilizaremos la opción [-fuzz], que se descibe en esta misma sección.
convert -trim -fuzz 20% maremagnum.png maremagnum.gif
Con esta opción eliminamos de los bordes de la imagen la cantidad de pixels especificados en la linea de comandos.
La sintaxis para esta opción puede tomar dos formas:
convert -shave %p input output
convert -shave WxH input output
%p: Elimina dos filas (superior e inferior) de un grosor cada una de ellas igual al p% de altura de la imagen y dos columnas (izquierda y derecha) de un grosor, cada una, igual al p% de la anchura de la imagen.
W=cantidad de pixels a eliminar de los
bordes horizontales.
H= cantidad de pixels a eliminar de los
bordes verticales.
Veamos un ejemplo:
convert -shave 40x60 input.jpg output.jpg
Con la anterior orden eliminariamos 40px de los bordes superior e inferior y 60px de los bordes derecho e izquierdo de la imagen input.jpg
|
convert -shave 25% bcnt.jpg shave.jpg
|
|
![]() bcnt.jpg (300x225px) |
![]() shave.jpg (150x113px) |
| En este caso hemos eliminado dos filas y dos columnas, cada una de ellas de un grosor, en pixels, igual al 25% de la altura y de la anchura de la imagen. | |
-splice WxH+x+y
Con esta opción podemos "unir", "incorporar", "añadir" ....bloques de pixels a la imagen , como filas y/o columnas, de acuerdo con la geometria especificada en el argumento y del color especificado en la opción [-background] que preceda a la opción [-splice].
Veamos el significado de cada uno de los términos del argumento:
![]() |
Debe observarse que las filas y/o columnas SE AÑADEN a la imagen, por lo que los pixels de aquellas no reemplazarán a los de la imagen: se originará un desplazamiento de porciones de imagen hacia arriba/abajo e izquierda/derecha de las columnas o filas añadidas. |
Partiendo de la imagen barca.png, veamos el comportamiento de esta opción: convert barca.png -background red -splice WxH+x+y output |
![]() |
Con el comando [convert], las modificaciones en una imagen, input, se "transformaban" en otra imagen, output, respetando la integridad de la primera.
Esta ventaja, la de conservar intacto el original, nos limita a la hora
de realizar transformaciones "en masa" , ya que con el comando [convert],
para cada input debemos especificar un determinado output.
Por ejemplo, con [convert] no seria
posible transformar un directorio entero de imagenes en thumbnails.
No seria válida una orden como la siguiente:
convert -thumbnails 15% *.jpg
Con el comando [mogrify] si podemos realizar operaciones en masa con casi todas las opciones disponibles para el comando [convert] pero con una advertencia:
NO SE GENERAN NUEVOS ARCHIVOS, SE SOBREESCRIBEN LOS ARCHIVOS SOBRE LOS QUE SE ACTUA.
Por ello, es mas que aconsejable que se utilice [mogrify] siempre con copias de los archivos originales.
Asi, la orden:
mogrify -thumbnails 15% *jpg
convierte todas las imágenes JPG del directorio en thumbnails, sobreescribiendolas.
Ademas de la utilidad de [mogrify] para la realización de operaciones en masa sobre directorios, utilizaremos este comando siempre que deseemos que la modificación que realicemos sobreescriba el archivo original.
Una excepción a la sobreescritura que conlleva [mogrify] es cuando se utiliza para el cambio de formato de imagen y con la opción [ -format ]
La orden:
mogrify -format png -thumbnail 10% *jpg
generaria thumbnails de cada uno de los archivos JPG del directorio, dejando intacto los originales.
mogrify -format tif *jpg
mogrify -format png -resize 20 *tif
Las dos anteriores órdenes realizarian la transformacion en masa respetando la integridad de los archivos originales, ya que la transformación va asociada a un cambio de formato , especificado con la opción [-format ], que implica la generación de nuevos archivos (outputs) al comportar un cambio en la extensión de los mismos.
Más adelante, cuando se describa el comando [identify], se verá otro uso de la opción [-format]
Mediante esta opción determinamos el directorio en el que guardar las imágenes.
-path ruta
Esta opción es util cuando se desee guardar el output en un directorio distinto del que estemos operando.
Mediante esta opción podemos salvar uno de los escollos que nos pueda suponer la utilización del comando [mogrify] : La sobreescritura de las imágenes. Dirigiendo el output a un directorio distindo del que estamos operando, el input no será sobreescrito.
mogrify -path /home/user/thumb -thumbnail 100x100 *.jpg
Con la anterior orden, los thumbnais generados se guardarán en el directorio /home/user/thumb ; permaneciendo inalteradas la imágenes *.jpg de las que se han originado.
Mediante esta opción podemos definir una determinada área, o región, de la imagen a la que limitar la acción de determinadas opciones que, de otra forma, actuarian sobre la totalidad de la imagen.
Su utilidad real se verá más adelante, actuando conjuntamente con otras opciones que producen transformaciones en la imagen, pero dado su caracter "general" este puede ser un buén momento para introducirla.
La sintaxis básica de esta opción es:
-region WxH±x±y
Para el significado del argumento WxH±x±y, véase la opción [-crop]
Como se ha comentado anteriormente, la opción [-region] se utiliza para limitar el alcance de la acción de otras opciones. La sintaxis de una linea de órdenes en la que intervenga [-region] como limitadora de la opción [-OPCION] seria:
convert input -region WxH±x±y -OPCION {argumentos} output
Aprovechamos la ocasión para comentar que cuando en una linea de órdenes se definen más de dos opciones, puede ser mas conveniente la sintaxis anterior, en la que el input se define al principio, que aquella en la que input y output se definen al final de la línea de órdenes.La razón se explicó en : [Sintaxis de la linea de comandos].
Por ejemplo, con la siguiente linea de órdenes limitariamos la accion de la opción [-swirl] al área de la imagen definida por [-region]:
convert input -region 120x70+20+0 swirl 180 output
La forma de operar de esta opción es, básicamente, extrayendo el área de la imagen input delimitada por los argumentos de [-region] y aplicar, sobre esta imagen "extraida" las operaciones de las opciones que se hayan asociado con [-region] para, finalmente, volverla a adjuntar a la imagen original.
En el apartado [Limitar las distorsiones a determinadas regiones de la imagen] podemos ver unos cuantos ejemplos de la forma de actuar de la opción [-region].
La opción [-region] puede asociarse a culquier operación que realicemos sobre una imagen, aunque , como puede intuirse, su utilidad real variará mucho dependiendo del tipo de operación que deseemos realizar.
Para acabar, debemos comentar que a una opción [-region] se le pueden asociar varios opciones, con lo que limitariamos todas sus acciones a la región definida:
convert input.png -region 40x40+5+5 -mattecolor -background blue -rotate 30 output.png
Con la anterior orden limitariamos los efectos de las opciones [-mattecolor], [-background] y [-rotate], al área 40x40+5+5 de la imagen input.png.
Esta opción extrae una determinada área de la imagen sobre la que se aplicarán las modificaciones implementadas.
-extract WxH±x±y
Para los significados de WxH±x±y, ver [-crop].
Debe hacerse notar la diferencia entre esta opción y la opción [-region]:
Con [-extract] se extrae el área determinada, se aplican sobre ella las acciones configuradas y se salva dicha área extraida y modificada como un output.
Con [-region] las acciones se aplican a la región especificada de la imagen input y se genera un output que contiene todas las regiones del input, tanto las modificadas como las no modificadas.
Vamos a ver, partiendo de la imagen llac.jpg, como actua [-extract], comparándola con la opción [-region]: convert -region 115x150+75+50 bordercolor '#ff0000' border 1 paint 4 llac.jpg region-paint.png convert -extract 115x150+75+50 bordercolor '#ff0000' border 1 paint 4 llac.jpg region-paint.png |
||
![]() llac.jpg |
![]() region-paint.png |
![]() extract.png |
Con el comando [convert], al
realizar un cambio de formato de imagen podemos realizar también un
cambio en la compresión de la misma.
Existe un modo de especificar el tipo de compresión deseada a la hora
de llevar a cabo la transformación de una imagen. Es con la
opción [ -compress ].
convert -compress argumento input output
El argumento de la opción [-compress] es el tipo de compresión que deseamos aplicar.
Por ejemplo, con la orden:
convert -compress zip input.jpg output.tif
generamos una imagen TIFF comprimida en zip a partir de la imagen JPG.
Los posibles tipos de compresión utilizables por IM son:
| None |Bzip | Fax (CCITT Group 3 fax compression) | Group4 (CCITT Group 4 fax compression)| JPEG | JPEG2000 | Lossless (lossless JPEG) | LZW | RLE | Zip |
En: [ http://www.imagemagick.org/script/formats.php ]pueden consultarse los formatos soportados por IM y que pueden utilizar la opción [-compress]
Mediante la ejecución de la siguiente línea de órdenes obtendremos un listado de los distintos formatos de compresión soportados por nuestra versión de IM:
convert -list compress
Un caso especial en la compresión de imágenes es el de compresión GZIP directa: añadiendo al final del nombre del output la extensión .gz, obtendremos el archivo comprimido en GZIP.
convert input.png -resize 200x150 output.png.gz
Mediante esta opción especificamos los niveles de compresión de los formatos JPG/MIFF/PNG
La sintaxis para esta opción es:
convert -quality a% input output
en donde el argumento a% representa el nivel de compresión deseado.
convert -quality 10% input.jpg output.jpg
En los formatos JPEG y MPEG los niveles van de 0 (mínima calidad de imagen y máximo nivel de compresión) a 100 (máxima calidad de imagen y mínimo nivel de compresión).
En los formatos PNG y MNG, el valor establece el nivel de compresión zlib (calidad / 10) y el tipo de filtro (calidad % 10). Los niveles de compresión van desde 0 ( rápida) hasta 100 (buena calidad pero compresión mas lenta).
Las imágenes interlazadas son aquellas que se van mostrando progresivamente a medida que se van descargando. Para crearlas utilizaremos la opción [ -interlace ], con los argumentos:
Cada uno de estos argumentos nos generará un modo de
"aparición" de la imagen creada: por lineas [line] o por planos [plane]
La sintaxis para esta opción seria:
convert -interlace argumento input output
Por ejemplo:
convert -interlace line input.jpg output.jpg
convert -interlace plane input.jpg output.jpg
Mediante la opción [-list] con el argumento interlace obtendremos también un listado de los argumentos de la opción [-interlace] disponibles en nuestra versión de IM:
convert -list interlace
convert input -extent WxH output
Los dos elementos del argumento, W y H se refieren al tamaño , en pixels, del ancho y alto, respectivamente, de la imagen final (output).
Si el tamaño final especificado es mayor que el del input se añadirán los pixels necesarios al margen derecho y/o al margen inferior.
Si el tamaño final especificado fuera menor, se recortaria la imagen en el margen derecho y/o inferior hasta ajustarla al tamaño especificado.
En todo caso el área superior izquierda de la imagen permanece inalterada.
Partiendo de la imagen grn.jpg de 100x72 pixels, veamos el comportamiento de esta opción para distintos valores de WxH convert grun.jpg -background yellow -extent WxH output.png Se ha utilizado la opción [-background], con el fin de resaltar ( en amarillo) el espacio añadido. |
![]() grun.jpg |
||
![]() W=150 H=100 |
![]() W=150 H=72 |
![]() W=100 H=100 |
![]() W=75 H=50 |
Mediante esta opción podemos seguir, en la cónsola, el proceso de transformación de una imagen.
convert imput -monitor -opcion output
Veamos lo que apareceria en la cónsola durante un proceso de transformación con la opción [-monitor]:
Macintosh-2:asd53$ convert llac.jpg -monitor -monochrome -bordercolor '#ff0000' -border 2 llac-m.png RGB transform image: 100% RGB transform image: 100% Classify image colors: 100% Reduce image colors: 100% Dither image colors: 100% Add frame to image: 100%
La sintaxis de esta opción es:
-fuzz distancia {%}
El argumento de esta opción, distancia, puede expresarse en unidades absolutas de intensidad o como un porcentaje de la máxima intensidad posible ( 255, 65536 o 4294967295); en este último caso el argumento tomaria la forma n%.
Dicho de otra forma, dado un color, otro color será tratado como el primero si la diferencia entre ambos colores es menor que el factor especificado ( de forma absoluta o en porcentaje). Así, un factor '200' representa una distancia de 200 unidades en la profundidad de color; un factor 20% representa una diferencia del 20% en la profundidad de color.
Veamos el funcionamiento de esta opción através de unos ejemplos.
|
Partiremos de un gradiente de color azul: gradientBlue.png |
![]() gradientBlue.png |
|
convert gradientBlue.png -fuzz n% -fill '#ff0000' -opaque '#0000ff' output.png Con la anterior orden sustituiremos el color especificado en la opción [-opaque](azul), por el color especificado en la opción [-fill], (rojo). Veamos el resultado para varios valores de [-fuzz]: |
|
![]() |
|
Como podemos observar, a mayor porcentaje, más tonos de azul son tratados como el especificado en la opción [-opaque] y, por tanto, sustituibles por el color especificado en la opción [-fill], (rojo). |
|
| [ Indice ] | [ Inicio Sección] | [ Sección Anterior ] | [ Sección Siguiente ] |
Licencia: "ImageMagick: Manual en español". By Antoni Serra Devecchi is licensed under a Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 España License.
NEVEGADORES ADECUADOS PARA EL CORRECTO VISIONADO DE ESTE SITIO |
![]() |