-->
NEVEGADORES ADECUADOS PARA EL CORRECTO VISIONADO DE ESTE SITIO

ImageMagick: Manual en español.

[Un paseo por ImageMagick]


XIV- Operadores de texto.








IM nos proporciona muchas y variadas vias de insertar texto en una imagen. En esta sección vamos a tratar de los operadores específicos de texto que nos proporciona IM, así como dos opciones relacionadas con ellos: [-interword-spacing] y [-kerning]

Los Operadores de Texto que vamos a tratar en esta sección son:





XIV-1.- [label:]

label:texto

Si el argumento texto es una cadena, debe entrecomillerse:

label:'esto es una cadena de texto'

El operador [label:] es la forma más sencilla y directa de crear una etiqueta.

Con [label:] pueden utilizarse todas las opciones de ajuste de texto, como [-font], [-pointsize], [-stroke], [-strokewith], [-undercolor], [-fill], [-kerning], [-interword-spacing] ......

Una advertencia: Tanto con el operador [label:] como con el [caption:], solo pueden utilizarse colores sólidos.



Creación de una etiqueta simple.

convert -background yellow -fill red -font Palatino-BoldItalic -pointsize 30 label:Imagemagick label.png

Con una orden de este tipo el tamaño de lienzo viene determinado por el tamaño de de letra. Es la via más rápida y fácil de generar una etiqueta, aunque, probablemente, no la más interesante.


Especificar el tamaño de la etiqueta.

Si se especifica un tamaño (WxH) mediante la opción [-size], la etiqueta tendrá este tamaño. Cualquier especificación del tamaño de la fuente, mediante [-pointsize], será ignorada.

convert -background yellow -fill red -font Palatino-BoldItalic
-size 200x150 label:Imagemagick label_size.png

La posición de la etiqueta puede ajustarse con la opción [-gravity]

convert -background yellow -fill red -font Palatino-BoldItalic
-size 200x150 -gravity center label:Imagemagick label_size.png

Si en la opción [-size] se especifica solo una de las dos dimensiones (el ancho o el alto), el tamaño de la fuente se ajustará a la dimensión especificada y la dimensión no especificada se ajustará al texto.

convert -background yellow -fill red -font Palatino-BoldItalic
-size 200x -gravity center label:Imagemagick label_size_w.png



Uso de las opciones de ajuste de texto.

Vamos a ver un ejemplo del uso de las diversas opciones de ajuste de texto en la generación de una etiqueta con [label:]

convert -background yellow -fill red -font Palatino-BoldItalic
-strokewidth 2 -stroke blue -undercolor lightblue
-size 200x150 -gravity center label:Imagemagick label_.png



Etiquetas de varias líneas.

Mediante el caracter \n podemos escribir etiquetas de múltiples lineas de texto.

convert -background yellow -fill red -font Palatino-BoldItalic
-size 200x150 -gravity center label:'Imagemagick\nManual de Uso\n[Español]' label_multi.png

La opción [-gravity] afecta a cada una de las líneas, centrándolas, por lo cual puede utilizarse para 'justificar' el texto.

Otra importante característica de [label:] es que puede leer el texto de un archivo. Para que ello sea posibe debemos preceder el nombre del archivo que contiene e texto con el caracter @

convert -background yellow -fill red -font Palatino-BoldItalic
-size 150x50 -gravity center label:@/home/user/texto.txt label_text.png





XIV-2.- [caption:]

Este operador es, en muchos aspectos, semejante a [label:], excepto que en lugar de ajustar el tamaño del texto hasta llenar un determinado ajuste de la opción, [-size], mantiene un determinado tamaño y distribuye el texto en líneas, sin cortar palabras.

Por lo demás, todo lo dicho en [label:] es aplicable a [caption:]

convert -background yellow -fill red -font Palatino-BoldItalic
-size 200x100 caption:'ImageMagick: Manual de Introducción. [español]' caption.png

Como en [label:], aqui también podemos utilizar a opción [-gravity] para 'justificar' el texto.

convert -background yellow -fill red -font Palatino-BoldItalic
-size 200x100 -gravity center caption:'ImageMagick: Manual de Introducción. [español]' caption_gravity.png





XIV-3.- [text:]

Mediante este operador convertiremos un texto plano en páginas formateadas de imágenes. En otras palabras, el propósito de este operador es convertir extensos archivos de texto plano en páginas con formato de imágenes.

Se comprenderá mejor su función a partir de unos cuantos ejemplos ejemplos

convert -background yellow -fill red -pointsize 18 text:compose.txt text.png

La anterior línea de órdenes nos convertirá el archivo de texto plano compose.txt en un archivo en formato imagen. Dependiendo del archivo de texto, se dividirá el output en páginas numeradas ( en el ejemplo: text-0.png, text-1.png).

Uno de los problemas que nos presenta este operador es que nos coloca el output en un lienzo de unos, aproximadamente, 618x798 pixels, lo que puede resultar excesivamente grande para determinados volúmenes de texto. Con las opciones [-trim] y [+repage]. Veamos como funciona esto a partir de un texto captado desde el terminal:

echo " Esto es un texto escrito en el terminal " |
convert -background yellow -fill blue -pointsize 18 text:- -trim +repage -bordercolor red -border 3 text_term.png

También tenemos la posibilidad, más sencilla, de especificar unas dimensiones de página con la opción [-page]

echo " Esto es un texto escrito en el terminal " |
convert -background lightblue -fill blue -pointsize 16 -page 350x50+15+15
text:- -bordercolor red -border 3 text_page.png





XIV-4.- Espacios entre palabras: [-interword-spacing]

Con esta opción determinamos el espacio entre dos palabras de un texto.

-interword-spacing valor


Veamos el resultado para distintos valores del argumento valor en la siguiente línea de órdenes:

convert -size 150x -interword-spacing valor label:'Manual básico de ImageMagick' output

Obsérvese la variación del tamaño de la fuente cuando se opera, como en este caso, con un lienzo de longitud fija (150 px). Si no fuera este el caso, la longitud del lienzo iria aumentando a medida que aumentara el valor , manteniéndose el tamaño de la fuente.





XIV-5.- Espacios entre letras de una palabra: [-kerning]

Con esta opción determinamos el espacio entre las letras de un palabra.

-kerning valor


Veamos el resultado para distintos valores del argumento valor en la siguiente línea de órdenes:

convert -poinsize 14 -kerning valor label:'Barcelona' output






[ Indice ] [ Inicio Sección] [ Sección Anterior ]

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