Como desenhar imageMagick

Como desenhar imageMagick
ImageMagick é uma ferramenta muito poderosa para criar imagens. O desenho está basicamente adicionando uma forma ou um pedaço de texto ou até uma imagem na tela. Neste tutorial, vamos aprender sobre como desenhar no imagemagick.

O comando draw

Para desenhar qualquer tipo de forma ou texto para a tela, você deve usar o comando draw.

-Empate Corda

Quando o fabricante de imagemagick diz string, ele quer dizer que é melhor estar em aspas.

O comando de draw se parece com o seguinte:

Exemplo: -Desenhe 'Círculo 50, 50, 100, 100'

Vamos quebrar isso. A primeira parte após a palavra "draw" é a palavra "círculo". Estamos assumindo que você adivinhou. Sim! Essa é a forma, o texto ou a coisa que você deseja desenhar. Nesse caso, o comando refere -se a desenhar um círculo.

Agora, a segunda pergunta que pode vir à sua mente é: “Quais são esses números dentro das aspas?”Vamos responder a essa pergunta primeiro.

Para qualquer forma ou texto, adicionamos vários números após o texto. O número de números que adicionamos varia. Por exemplo, se vamos projetar um ponto, temos x0 e y0. Então, existem dois números e apenas dois números após o texto. Mas suponha que precisamos de um círculo, temos 4 pontos - x0, y0, x1, y1. Se, por outro lado, queremos um RoundRectangle, adicionamos x0, y0; x1, y1; WC, HC, que compreende seis números.

O ponto que estamos tentando destacar é que o número de números vai variar. Precisamos apenas de 2 pontos para um ponto enquanto precisamos de 4 pontos para um círculo, e precisamos de 6 pontos para um RoundRectangle, e assim por diante.

apontar x, y
linha x0, y0 x1, y1
retângulo x0, y0 x1, y1
RoundRectangle 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
Polyline x0, y0… xn, yn
polígono x0, y0… xn, yn
bezier x0, y0… xn, yn
caminho especificação
imagem Operador X0, Y0 W, H FileName

Exemplo 1: Arco

Converter -Size 1000 × 1000 XC: White -Fill preto -Red -Draw “Arc 250.150 850.600 25.150” Arco.jpg

O que nós fazemos? Aqui, o XC é usado para definir a cor de fundo, enquanto o tamanho é usado para determinar o tamanho da tela. Além de XC e tamanho, enchemos o que é simples: com que cor você deseja preenchê -lo e o golpe para a cor do golpe. Por fim, “Arco.JPG ”é o nome da imagem de saída.

Exemplo 2:

Converter -Size 1000 × 600 XC: Khaki -preenchimento de preto -draw “RoundRectangle 150.100 750.500 15, 20” Roundrec.jpg

Exemplo 3:

Vamos escolher o que diz "imagem".

Converter -Size 1000 × 600 XC: Khaki -Draw 'Imagem Srcover 50,50 800.600 Photo33.imagem png '.jpg

Nesse caso, o SRCover é um operador composto. O primeiro conjunto de números (50, 50) define a localização da imagem. O segundo conjunto de números (800, 600) define o tamanho da imagem. Finalmente, o nome do arquivo é o nome da imagem que desenhamos na tela. Não confunda a “imagem.JPG "com" Photo33.png ”. Foto33.PNG é a foto com as linhas de estacionamento amarelas que estão no topo do fundo cáqui. O todo (fundo cáqui e o foto33.png) ou a imagem de saída é a “imagem.jpg ”.

Desenho de texto

Desenhar textos não é muito mais complicado do que desenhar linhas e retângulos.

Vamos desenhar alguns textos!

Converter -Size 1000 × 600 XC: Khaki -Draw “Texto 400.300 'Linux Dica: para todas as coisas Linux'" Texto.jpg

Aqui, o tamanho da fonte é muito pequeno. Como você torna a fonte maior? Usamos o switch de pontos de pontos.

Aqui está como:

Converter -Size 1000 × 600 XC: Khaki -PointSize 70 -Draw “Texto 30.300 'Linux Dica: para todas as coisas Linux'" Text2.jpg

Operações de transformação e pixel

Você também pode adicionar transformações e operações de pixel à parte da string do comando draw.

girar graus
traduzir DX, DY
escala SX, SY
Skewx graus
Skewy graus
cor Método x0, y0
Matte Método x0, y0

Exemplo:

Converter -Size 1000 × 600 XC: Khaki -Draw 'gire 25 Imagem Srcover 50,50 800.600 Photo33.png '-PointSize 49 -Draw “Text 600.300' Linuxhint '" Image2.jpg

Ou

Converter -Size 1000 × 600 XC: Khaki \
-desenhar 'girar 25 imagem srcover 50,50 800.600 foto33.png '\
-Pontos de 49 -draw “texto 600.300 'linuxhint' \
Image2.jpg

O que fazemos aqui? Ignore a segunda parte após o ponto de vista e apenas concentre -se no primeiro comando de empate. Adicionamos o giro 25 ao que tínhamos anteriormente. Isso gira a imagem em 25 graus.

Composição

Agora, você não precisa seguir apenas um evento de sorteio. Você pode adicionar tantos "desenhar" quanto quiser à sua tela. Deixe-me te mostrar.

Converter -Size 1000 × 600 XC: Khaki -Draw 'Imagem Srcover 50,50 800.600 Photo33.png '-draw “texto 15,15' linux dica: para todas as coisas Linux '" Comp.jpg

Ou

Converter -Size 1000 × 600 XC: Khaki \
-desenhar 'imagem srcover 50,50 800.600 foto33.png '\
-Desenhe “texto 15,15 'Linux Dica: para todas as coisas Linux'" \
comp.jpg

Agora, vamos adicionar o Switch de Pointize também:

Converter -Size 1000 × 600 XC: Khaki -Draw 'Imagem Srcover 50,50 800.600 Photo33.png '-PointSize 29 -Draw “Texto 25,25' Linux Dica: para todas as coisas Linux '" Comp2.jpg

Exemplo:

Converta -Size 1000 × 600 XC: Khaki -Pointsize 29 -Draw “Texto 25,25 'Linux Dica: para todas as coisas Linux'” -Azul -derrubada 2 -Draw “retângulo 40,40 860,660” -Imagem '. , 50 800.600 foto33.png 'comp3.jpg

Ou

Converter -Size 1000 × 600 XC: Khaki \
-Pontos de 29 -Draw “Texto 25,25 'Linux Dica: para todas as coisas Linux'" \
-AVISO AZUL -LIMPOLAÇÃO DO ARQUIPADO 2
-desenhar 'imagem srcover 50,50 800.600 foto33.png '\
comp3.jpg

Lembre -se de que a ordem em que você faz essas declarações é importante. Você também pode adicionar quantas declarações desenhadas quiser.

Conclusão

Desenho está basicamente adicionando algo como uma forma ou um pedaço de texto à tela. É definitivamente uma das coisas mais fáceis de fazer no imagemagick. Para desenhar, você usa o comando draw seguido de uma string. A sequência contém informações sobre o item que você deseja desenhar, sua localização, largura e altura precisa, quando necessário, bem como qualquer outra informação necessária. Assim, a parte em que você deve ter cuidado se quiser que sua imagem seja renderizada corretamente é a string - é melhor ter todas as informações corretas no local correto. Se não for, você receberá erros na renderização da imagem. Mas, caso contrário, é bem direto.