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.