Como adicionar uma borda usando o Imagemagick

0

Quero adicionar minhas fotos no Imagemagick:

  • borda de cor branca
  • 2 polegadas de largura

Como posso fazer isso?

    
por Deniz 01.09.2016 / 09:40

2 respostas

2

convert -border 20 -bordercolor white input.jpg output.jpg

adicionará uma borda branca de tamanho 20 pixels à imagem. Você só precisa descobrir quanto px é uma polegada (dpi) de imagem.

Mais exemplos podem ser encontrados aqui .

No caso da minha imagem de teste, ela salvou as informações de dpi nela. Eu poderia obtê-lo usando identivy -verbose e ficaria assim:

$ identify -verbose tiger.jpg
Image: tiger.jpg
  Format: JPEG (Joint Photographic Experts Group JFIF format)
  Mime type: image/jpeg
  Class: DirectClass
  Geometry: 600x400+0+0
  Resolution: 96x96
  Print size: 6.25x4.16667
  Units: PixelsPerInch
  Type: TrueColor
...

Como você pode ver, ele tem 96x96 dpi, pois as unidades são do tipo PixelsPerInch.

Nesse caso, 2 polegadas na minha imagem são 192px.

    
por V-master 01.09.2016 / 10:24
0

Primeiro, descubra quantos pixels a borda de 2 "terá. Adicione esses pixels aos #pixels da sua Imagem original (duas vezes, conforme você deseja a mesma borda em cada lado).

Agora use convert like

convert <input> -size <newsize> xc:white +swap -gravity center -composite <output>

Digamos que o tamanho da imagem seja 3600x2400 e a resolução seja 100px / pol. Então você tem que adicionar 400px para cada dimensão, obtendo 4000x2800 como resultado. (Como descobrir esses valores foi descrito por @ V-master). Então o comando lê (onde input.jpg é o original e output.jpg é o resultado)

convert input.jpg -size 4000x2800 xc:white +swap -gravity center -composite output.jpg

Para mim, isso funcionou conforme solicitado.

Editar:

convert input.jpg -bordercolor white -border <n> output.jpg

(como já sugerido por @ V.master) também funciona, apenas a opção -bordercolor deve ser definida antes de -border . É um atalho para a minha sugestão, que eu uso para ter bordas de tamanhos diferentes (rsp. Relação de aspecto fixo independente daquela da imagem original).

Não há opção para definir a unidade em polegadas. O que 2 "são depende da resolução de saída de sua imagem ao ser impresso (por exemplo, 300dpi: n = 600, 600dpi: n = 1200 etc.).

    
por ridgy 01.09.2016 / 12:33