Cómo dibujar en imagemagick

Cómo dibujar en imagemagick
ImageMagick es una herramienta muy poderosa para crear imágenes. El dibujo básicamente agrega una forma o un texto o incluso una imagen en el lienzo. En este tutorial, aprenderemos sobre cómo dibujar en imagemagick.

El comando de dibujo

Para dibujar cualquier tipo de forma o texto al lienzo, debe usar el comando Draw.

-Dibujar Cadena

Cuando el fabricante de ImageMagick dice String, quiere decir que es mejor que sea comillas.

El comando Draw se parece a esto:

Ejemplo: -Dibuja 'Círculo 50, 50, 100, 100'

Desglosemos esto. La primera parte después de la palabra "dibujar" es la palabra "círculo". Asumimos que lo adivinaste. Sí! Esa es la forma, el texto o la cosa que quieres dibujar. En este caso, el comando se refiere a dibujar un círculo.

Ahora, la segunda pregunta que podría venir a su mente es: “¿Cuáles son esos números dentro de las comillas??"Respondamos esa pregunta primero.

Para cualquier forma o texto, agregamos un montón de números después del texto. El número de números que agregamos varía. Por ejemplo, si vamos a diseñar un punto, tenemos x0 e y0. Entonces, hay dos números y solo dos números después del texto. Pero supongamos que necesitamos un círculo, tenemos 4 puntos: x0, y0, x1, y1. Si, por otro lado, queremos un Roundrectangle, agregamos x0, y0; x1, y1; WC, HC que consta de seis números.

El punto que estamos tratando de hacer es que el número de números variará. Solo necesitamos 2 puntos para un punto, mientras que necesitamos 4 puntos para un círculo, y necesitamos 6 puntos para un Roundrectangle, y así sucesivamente.

punto x, y
línea x0, y0 x1, y1
rectángulo x0, y0 x1, y1
rectángulo redondo x0, y0 x1, y1 wc, hc
arco x0, y0 x1, y1 a0, a1
elipse x0, y0 rx, ry a0, a1
círculo x0, y0 x1, y1
polilínea x0, y0 ... xn, yn
polígono x0, y0 ... xn, yn
bisier x0, y0 ... xn, yn
camino especificación
imagen Operador X0, Y0 W, H Nombre de archivo

Ejemplo 1: Arco

Convertir -Size 1000 × 1000 XC: White -Plete negro -Rojo -Drow "Arco 250,150 850,600 25,150" Arco.JPG

Qué hacemos? Aquí, XC se usa para definir el color de fondo mientras el tamaño se usa para determinar el tamaño del lienzo. Aparte de XC y tamaño, llenamos lo que es simple: ¿de qué color quieres llenarlo y el trazo para el color del trazo?. Por último, "Arco.JPG ”es el nombre de la imagen de salida.

Ejemplo 2:

Convertir -Size 1000 × 600 XC: Caki -Plenos Rojo -Roquero -Drow "Roundrectangle 150,100 750,500 15, 20" RoundRec.JPG

Ejemplo 3:

Elegamos el que dice "imagen".

Convertir -Size 1000 × 600 XC: Caki -Draw 'Imagen Srcover 50,50 800,600 Photo33.Imagen de PNG.JPG

En este caso, Srcover es un operador compuesto. El primer conjunto de números (50, 50) define la ubicación de la imagen. El segundo conjunto de números (800, 600) define el tamaño de la imagen. Finalmente, el nombre de archivo es el nombre de la imagen que dibujamos en el lienzo. No confundas la "imagen.JPG "con" Photo33.PNG ". Photo33.PNG es la foto con las líneas de estacionamiento amarillas que se encuentra en la parte superior del fondo caqui. Todo el fondo (khaki y la foto33.png) o la imagen de salida es la "imagen.JPG ".

Texto de dibujo

Dibujar textos no es mucho más complicado que las líneas de dibujo y los rectángulos.

Dibujemos algunos textos!

Convertir -Size 1000 × 600 XC: Khaki -Draw “Texto 400,300 'Linux Sugerencia: para todas las cosas Linux'" Texto.JPG

Aquí, el tamaño de la fuente es demasiado pequeño. ¿Cómo haces la fuente más grande?? Usamos el interruptor de puntos.

Así es cómo:

Convertir -Size 1000 × 600 XC: Khaki -PointSize 70 -Draw “Texto 30,300 'Linux Sugerencia: para todas las cosas Linux'" Text2.JPG

Transformación y operaciones de píxeles

También puede agregar transformaciones y operaciones de píxeles a la parte de cadena del comando Draw.

girar grados
traducir DX, DY
escala SX, SY
sesgo grados
sesgo grados
color Método x0, y0
mate Método x0, y0

Ejemplo:

Convertir -Size 1000 × 600 XC: Khaki -Draw 'Rotar 25 Imagen Srcover 50,50 800,600 Photo33.PNG '-PointSize 49 -Draw "Texto 600,300' Linuxhint '" Imagen2.JPG

O

Convertir -Size 1000 × 600 XC: Khaki \
-Dibujar 'Rotar 25 Imagen Srcover 50,50 800,600 Photo33.png '\
-PointSize 49 -Draw "Texto 600,300 'Linuxhint'" \
imagen2.JPG

Qué hacemos aquí? Ignore la segunda parte después de PointSize, y solo concéntrese en el primer comando de dibujo. Agregamos el rotación 25 a lo que teníamos anteriormente. Esto gira la imagen por 25 grados.

Composición

Ahora no tienes que seguir con un solo evento de sorteo. Puedes agregar tantos "dibujar" como quieras a tu lienzo. Deja que te enseñe.

Convertir -Size 1000 × 600 XC: Caki -Draw 'Imagen Srcover 50,50 800,600 Photo33.png '-Draw “Texto 15,15' Linux Sugerencia: para todas las cosas Linux '" Comp.JPG

O

Convertir -Size 1000 × 600 XC: Khaki \
-Draw 'Imagen Srcover 50,50 800,600 Photo33.png '\
-Dibuja "Texto 15,15 'Linux Sugerencia: para todas las cosas Linux'" \
compensación.JPG

Ahora, agregemos también el interruptor de puntos:

Convertir -Size 1000 × 600 XC: Caki -Draw 'Imagen Srcover 50,50 800,600 Photo33.PNG '-PointSize 29 -Draw “Texto 25,25' Linux Sugerencia: para todas las cosas Linux '" Comp2.JPG

Ejemplo:

Convertir -Size 1000 × 600 XC: Khaki -PointSize 29 -Draw “Texto 25,25 'Linux Sugerencia: para todas las cosas Linux'" -Shroke Blue -StrokeWidth 2 -Draw "Rectángulo 40,40 860,660" -Draw 'Image Srcover 50 , 50 800,600 Photo33.PNG 'COMP3.JPG

O

Convertir -Size 1000 × 600 XC: Khaki \
-PointSize 29 -Draw “Texto 25,25 'Linux Sugerencia: para todas las cosas Linux'" \
-Stroke Blue -BrokeWidth 2 -Draw "Rectángulo 40,40 860,660" \ \
-Draw 'Imagen Srcover 50,50 800,600 Photo33.png '\
comp3.JPG

Recuerde que el orden en el que coloca estas declaraciones es importante. También puede agregar tantas declaraciones de dibujo como sea posible.

Conclusión

El dibujo básicamente agrega algo así como una forma o un pedazo de texto al lienzo. Definitivamente es una de las cosas más fáciles de hacer en ImageMagick. Para dibujar, usa el comando Draw seguido de una cadena. La cadena contiene información sobre el elemento que desea dibujar, su ubicación precisa, ancho y altura cuando sea necesario, así como cualquier otra información necesaria. Por lo tanto, la parte en la que debe tener cuidado si desea que su imagen se presente correctamente es la cadena: es mejor que tenga toda la información correcta en el lugar correcto. Si no es así, recibirá errores al hacer la imagen. Pero de lo contrario, es bastante sencillo.