Fantasía de las fuentes en ImageMagick

Fantasía de las fuentes en ImageMagick
Ya sabemos cómo crear textos y sabemos cómo colocarlos en un lienzo en blanco. Pero hay momentos en los que realmente necesitamos hacer que los textos se vean únicos. Quizás sea una marca o algo que le gustaría agregar a su sitio web. De cualquier manera, mirarás cómo imaginar las cosas. En este tutorial, aprenderemos a imaginar los textos.

Instalación ImageMagick

Necesitaremos ImageMagick para esto, así que primero instalarlo:

sudo apt-get install imageMagick

El Lo esencial

Dejanos empezar:

Convertir -Size 1000x300 XC: Khaki -PointSize 172 -NO Purple -annotate +150 +190 'Linuxhint' Linuxhint.JPG

Tamaño: utilizado para definir el tamaño del lienzo. Esto solo establece la altura y el ancho del lienzo

XC: se usa para establecer el color de fondo, aquí, he usado khaki

PointSize: se usa para establecer el tamaño del texto

Llenar: el color utilizado para llenar el texto con; Aquí usé morado

Anotar - Anotar lienzo con texto

Linuxhint.JPG: el nombre del resultado o imagen final

Fekeing Things - Tiles

En el ejemplo anterior, usamos el interruptor de relleno para llenar la palabra con el color púrpura. Sin embargo, no tenemos que usar el interruptor de relleno. Podemos usar el interruptor de mosaico, por ejemplo,.

-nombre de archivo de mosaico

En este ejemplo, vamos a usar una foto llamada Photo33.PNG (la imagen de un árbol) en el interruptor de baldosas.

Convertir -Size 1000x300 XC: Khaki -PointSize 172 -Tile Photo33.png -annotate +150 +190 'Linuxhint' Linuxhint_tile.JPG

Alternativamente, también puede crear gradientes:

Convertir -size 1000x300 XC: Khaki -PointSize 172 -Tile Gradiente: -annotate +150 +190 'Linuxhint' Linuxhint_gradient.JPG

Fondo transparente

En este caso, para obtener un fondo transparente. Podemos establecer el fondo en ninguno y el formato de archivo a PNG.

Convertir -Size 1000x300 XC: Ninguno -PointSize 172 -Tile Photo33.png -annotate +150 +190 'Linuxhint' Linuxhint_tile_nobackground.png

Escrito de texto

Puede elegir describir los textos de la manera difícil:

Convertir -Size 1000X300 XC: Khaki -PointSize 172 -Nleting Negro -annotate +151 +191 'Linuxhint' -annotate +152 +192 'Linuxhint' -annotate +151 +192 'Linuxhint' -annotate +152 +191 'Linuxhint' - - - - - - - - - - - anotado +149 +189 'Linuxhint' -annotate +148 +188 'Linuxhint' -annotate +148 +189 'Linuxhint' -annotate +149 +188 'Linuxhint' -Fill Red -annotate +150 +190 'Linuxhint' Linuxhint_outlineline.png

En otras palabras, algo como esto:

Convertir -Size 1000x300 XC: Khaki -PointSize 172 \
-Llene negro -anotate +151 +191 'Linuxhint' \
-Anotar +152 +192 'Linuxhint' \
-Anotate +151 +192 'Linuxhint' \
-Anotar +152 +191 'Linuxhint' \
-Anotate +149 +189 'Linuxhint' \
-Anotar +148 +188 'Linuxhint' \
-Anotate +148 +189 'Linuxhint' \
-Anotate +149 +188 'Linuxhint' \
-Llenar rojo -anotate +150 +190 'Linuxhint' \
linuxhint_outline.png

Básicamente, aquí, asegúrese de cubrir todos los bordes.

Ahora, hagamos el esquema más grueso:

Convertir -Size 1000x300 XC: Khaki -PointSize 172
-Llene el negro -anotate +151 +191 'Linuxhint'
-Anotar +152 +192 'Linuxhint'
-Anotar +151 +192 'Linuxhint'
-Anotar +152 +191 'Linuxhint'
-Anotar +149 +189 'Linuxhint'
-Anotar +148 +188 'Linuxhint'
-Anotar +148 +189 'Linuxhint'
-Anotar +149 +188 'Linuxhint'
-Anotar +147 +187 'Linuxhint'
-Anotate +146 +186 'Linuxhint'
-Anotate +153 +193 'Linuxhint'
-Llenar rojo -annotate +150 +190 'Linuxhint' Linuxhint_outline.png

Pero escribir un millón de líneas solo para crear un borde parece demasiado. Entonces, te presentaré una alternativa:

-color del trazo

-valor de ancho de accidente cerebrovascular

Entonces, escribamos un nuevo código:

Convertir -size 1000x300 XC: Khaki -PointSize 172 -Plamos rojo -stroke -Black -StrokeWidth 4 -annotate +150 +190 'Linuxhint' Linuxhint_outline_stroke.JPG

Entonces, tienes lo siguiente:

Tamaño: tamaño del lienzo
XC: color de fondo
Pointsize: tamaño de la fuente
Llenarse: llene las letras con un color
Stroke: el color para crear el esquema con
Strokewidth: el grosor del contorno
Anotar: anotar texto en lienzo
Linuxhint_outline_stroke.JPG: Nombre del resultado final

Líneas dobles

Ahora, veamos cómo crear un efecto de doble línea. Aquí, el ancho de accidente cerebrovascular del segundo golpe tiene que ser de un color diferente y de un ancho más pequeño que el primero. Básicamente, es como escribir con un marcador grueso y luego encima con un marcador de color más delgado y diferente. Este último crearía la ilusión de una doble línea.

Convertir -size 1000x300 XC: Khaki -PointSize 172 -Pense rojo -stroke negro -strokewidth 4 -annotate +150 +190 'Linuxhint' -Fill Ninguno -Troke White -StrokeWidth 1 -annotate +150 +190 'Linuxhint' Linuxhint_outline_stroke1.JPG

O

Convertir -Size 1000x300 XC: Khaki -PointSize 172 \
-Llene el recho rojo negro -Width 4 -annotate +150 +190 'Linuxhint' \ \
-Ninguno -Shroke White -WrokeWidth 1 -annotate +150 +190 'Linuxhint' \ \
linuxhint_outline_stroke1.JPG

Se parece a esto si se acerca:

Una versión ligeramente diferente de esto es:

Convertir -Size 1000X300 XC: Ninguno -PointSize 172 -Pense rojo -stroke Black -StrokeWidth 35 -annotate +150 +190 'Linuxhint' -Scoke White -StrokeWidth 30 -annotate +150 +190 'Linuxhint' -Shroke -Strokewidth 25 - - anotado +150 +190 'linuxhint' -stroke white -strokewidth 20 -annotate +150 +190 'linuxhint' -stroke negro -strokewidth 15 -annotate +150 +190 'Linuxhint' -Stroke White -Strokewidth 10 -annotate +150 +190 'Linuxhint' -Shroke Black -StrokeWidth 5 -annotate +150 +190 'Linuxhint' -Scoke Ninguno -annotate +150 +190 'Linuxhint' Linuxhint_Psychedelic.png

O

Convertir -Size 1000x300 XC: Ninguno -PointSize 172 -Plamos Rojo \
-trazo negro -Width 35 -annotate +150 +190 'Linuxhint' \ \
-Stroke White -WrokeWidth 30 -annotate +150 +190 'Linuxhint' \ \
-trazo negro -Width 25 -annotate +150 +190 'Linuxhint' \
-Stroke White -StrokeWidth 20 -annotate +150 +190 'Linuxhint' \ \
-trazo negro -Width 15 -annotate +150 +190 'Linuxhint' \ \
-Stroke White -StrokeWidth 10 -annotate +150 +190 'Linuxhint' \ \
-trazo negro -Width 5 -annotate +150 +190 'Linuxhint' \ \
-Stroke Ninguno -Enotate +150 +190 'Linuxhint' \
linuxhint_psychedelic.png

Se vería así si se acerque:

En este caso, es el mismo principio que el primer escenario. Pero la primera línea es muy gruesa y negra, la segunda es blanca y menos gruesa que la primera, etc. ..

Sombra

Ahora, agregamos un poco de sombra:

Convertir -size 1000x300 XC: Ninguno -Font Candice -PointSize 172 -annotate +150 +190 'Linuxhint' -blur 0x4 -Fill -Red -Broke Black -annotate +150 +190 'Linuxhint' LinuxHint_Shadow.png

Ahora, intentemos crear un contorno suave con un aspecto borroso.

Convertir -Size 1000X300 XC: Ninguno -Pointsize 172 -No Ninguno -Broke Black -StrokeWidth 8 -annotate 0x0+150+190 'Linuxhint' -Blur 0x20 -Penado rojo -annotate 0x0+150+190 'Linuxhint' linuhint_reflection44.png

O

Convertir -Size 1000x300 XC: Ninguno -PointSize 172 \
-llenar Ninguno -Broke Black -StrokeWidth 8 -annotate 0x0+150+190 'Linuxhint' -Blur 0x20 \
-Llenar rojo -annotate 0x0+150+190 'Linuxhint' \
linuhint_reflection4.png

Aquí estamos usando el interruptor de blur. Estamos borrando el golpe.

-Radio de blur xsigma

Tenga en cuenta que el valor más importante aquí es el valor Sigma que determinará el alcance de la desenfoque.

Ahora, veamos el movimiento de movimiento.

-Radio de pulso de movimiento xsigma+ángulo

El ángulo, en este caso, es el ángulo hacia el cual se produce el desenfoque.

Convertir -Size 1000X300 XC: Khaki -PointSize 172 -NO Purple -annotate+150+190 'Linuxhint' -Motion -Blur 0x25+65 -No Red -annotate 0x0+150+190 'Linuxhint' Linuxhint_mb.JPG

O

Convertir -Size 1000x300 XC: Khaki -PointSize 172 \
-rellenar púrpura -annotate+150+190 'Linuxhint' -Motion -Blur 0x25+65 \
-Llenar rojo -annotate 0x0+150+190 'Linuxhint' \
linuxhint_mb.JPG

Otro ejemplo:

Convertir -Size 1000x300 XC: Khaki -PointSize 172 \
-rellenar púrpura -annotate+150+190 'Linuxhint' -Motion -Blur 0x25+165 \
-Llenar rojo -annotate 0x0+150+190 'Linuxhint' \
linuxhint_mb2.JPG

En un círculo

Ahora, pongamos el texto en un círculo.

-Argumentos de método de distorsionamiento

Use el método de distorsionamiento para distorsionar el texto. Después del interruptor de distorsión, especifique el método (que en este caso es un arco que será el texto) y luego los argumentos.

Convertir -PointSize 172 -Background Ninguno -Labe Red Etiqueta: "Linuxhint: All Things Linux" -Distort Arc 340 Linuxhint_Circle1.png

Reflexiones

El código para reflexiones es el siguiente:

Convertir -Size 1000x300 XC: Ninguno -PointSize 172 -No Red -annotate 0x125+150+190 'Linuxhint' -No Red -annotate 0x0+150+190 'Linuxhint' Linuhint_reflection.png

O

Convertir -Size 1000x300 XC: Ninguno -PointSize 172 \
-rellenar rojo -annotate 0x125+150+190 'Linuxhint' \
-Llenar rojo -annotate 0x0+150+190 'Linuxhint' \
linuhint_reflection.png

Use el interruptor de anotado.

-anotar xdegreesxydegrees +- tX+- tY texto

XDegrees y Ydegrees representan la cizalla en el texto. Tx y ty son el desplazamiento.

Ahora, intentemos algo más:

Convertir -Size 1000X300 XC: Ninguno -PointSize 172 -No Red -annotate 0x125+150+190 'Linuxhint' -No Red -annotate 0x0+150+190 'Linuxhint' -fling None -Stroke Black -StrokeWidth 4 -annotate 0x0+150 +190 'Linuxhint' linuhint_reflection2.png

O

Convertir -Size 1000x300 XC: Ninguno -PointSize 172 \
-rellenar rojo -annotate 0x125+150+190 'Linuxhint' \
-Llenar rojo -annotate 0x0+150+190 'Linuxhint' \
-Ninguno -Shroke Black -StrokeWidth 4 -annotate 0x0+150+190 'Linuxhint' \ \
linuhint_reflection2.png

Aquí, las opciones son innumerables y lo que puedes hacer con esto también.

Personajes superpuestos

Para escribir una línea con caracteres superpuestos, debe escribir y posicionar individualmente cada letra.

Convertir -Size 700x300 XC: Ninguno -Font Candice -PointSize 172 -Shroke Black -StrokeWidth 4 -Pense -BLANCHO -BLACK -ANNOTATE +150 +190 L -Broke Ninguno -Enotate +150 +190 L -NOTROCHE -ANNOTATE +200+ 170 I -Troke Ninguno -annotate +200 +170 I -Shroke Black -Annotate +220 +170 N -Broke Ninguno -annotate +220 +170 N -Shroke Black -annotate +300 +170 U -Broke Ninguno -annotate +300+ 170 U -BROCHE NEGRO -ANNOTATE +390 +170 x -BROCHE NINGUNO -ANNOTATE +390 +170 X LINUX_OVERLAPED.png

O

Convertir -Size 700x300 XC: Ninguno -Font Candice -PointSize 172 \
-trazo negro -Width 4 -Plon White \
-Stroke Negro -anotado +150 +190 L \
-Stroke Ninguno -Annotate +150 +190 L \
-Stroke Black -anotate +200 +170 I \
-Stroke Ninguno -Enotate +200 +170 I \
-Stroke Negro -anotado +220 +170 N \
-Stroke Ninguno -Annotate +220 +170 N \
-Stroke Black -anotate +300 +170 U \
-Stroke Ninguno -Annotate +300 +170 U \
-Stroke Negro -anotado +390 +170 x \
-Stroke Ninguno -Annotate +390 +170 x \
Linux_overlapping.png

Y si querías agregar algo de color:

Convertir -size 700x300 XC: Ninguno -Font Candice -Pointsize 172 -Shroke Black -StrokeWidth 4 -Penado -Rojo -Annotate -Annotate +150 +190 L -Broke Ninguno -Enotate +150 +190 L -NOTROCHE -ANNOTATE +200+ 170 I -Troke Ninguno -annotate +200 +170 I -Shroke Black -Annotate +220 +170 N -Broke Ninguno -annotate +220 +170 N -Shroke Black -annotate +300 +170 U -Broke Ninguno -annotate +300+ 170 U -Broke Black -annotate +390 +170 x -Broke Ninguno -annotate +390 +170 x Linux_overlapping_red.png

O

Convertir -Size 700x300 XC: Ninguno -Font Candice -PointSize 172 -Stroke Black -StrokeWidth 4 -Pluye Red \
-Stroke Negro -anotado +150 +190 L \
-Stroke Ninguno -Annotate +150 +190 L \
-Stroke Black -anotate +200 +170 I \
-Stroke Ninguno -Enotate +200 +170 I \
-Stroke Negro -anotado +220 +170 N \
-Stroke Ninguno -Annotate +220 +170 N \
-Stroke Black -anotate +300 +170 U \
-Stroke Ninguno -Annotate +300 +170 U \
-Stroke Negro -anotado +390 +170 x \
-Stroke Ninguno -Annotate +390 +170 x \
linux_overlapping_red.png

Ahora, el trato es que puede decidir sobre la posición de cada letra.

Ola

Ahora, veamos el interruptor de onda.

-longitud de onda amplitudxwavel

El interruptor de onda lo cortará con una onda sinusoidal.

Convertir -Size 1000x300 XC: Ninguno -PointSize 172 -No Red -annotate 0x0+150+190 'Linuxhint' -Wave 6x6 Linuhint_Shade.png

O

Convertir -Size 1000x300 XC: Ninguno -PointSize 172 \
-rellenar rojo -annotate 0x0+150+190 'Linuxhint' -Wave 6x6 \
linuhint_wave.png

Vistoso

Ahora, creemos una pieza colorida.

-Método de color escaso 'X, Y Color' ... '

El método puede ser baricéntrico, bilineaanhattnoanhattantan, shepards e inverse.

Convertir -Font Times -Bold -PointSize 172 -Background Ninguno Etiqueta: "Linuxhint" -Sparse -Color Barycentric '0, %H Blue %W, 0 rojo' Linuxhint_colorfulful.png

Mezclarlo

También puede mezclarlo todo, eso se junta algunos de los efectos para hacer uno todo.

Entonces, juntemos algunos de los efectos:

Ejemplo 1:

En este caso, estamos juntando azulejos y trazos.

Convertir -Size 1000x300 XC: Ninguno -PointSize 172 -Tile Photo33.png -stroke negros -width 3 -annotate +150 +190 'Linuxhint' Linuxhint_mixed.png

Ejemplo #2:

En este ejemplo, estamos poniendo azulejos, accidente cerebrovascular y distorsionamos juntos.

Convertir -Size 1000x300 XC: Ninguno -PointSize 172 -Tile Photo33.png -annotate +150 +190 'Linuxhint' -Shroke Black -StrokeWidth 3 -anotate +150 +190 'Linuxhint' -Distort Arc 340 Linuxhint_mix2.png

Ejemplo #3:

Convertir -Size 1000X300 XC: Ninguno -Pointsize 172 -annotate 0x125+150+190 'Linuxhint' -annotate 0x0+150+190 'Linuxhint' -Sparse -Color Barycentric '0, %H Blue %W, 0 rojo' Linuhint_mix2.png

Conclusión

Crear una fuente elegante no es demasiado difícil. Tienes que pensar cuidadosamente porque una palabra fuera de lugar cambiará todo el efecto. Entonces, asegúrese de pensar en todo el proceso, escribir pequeñas notas y luego escribir el código, especialmente si es muy complicado o muy largo.