Estou processando em lote uma pasta de imagem para uma largura uniforme com GraphicsMagick (embora eu assuma que o mesmo se aplicaria ao ImageMagick):
$ gm convert -resize 1000x in.jpg out.jpg
Mas quando inspeciono algumas das imagens, recebo 999px
em vez de 1000px
.
$ gm identify -verbose out.jpg
==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==> Geometry: 999x591
Existe uma maneira de impor a largura correta? Presumo que esteja fazendo algumas estimativas para preservar as proporções.
Responder1
Descobrindo isso, você usa um ponto de exclamação para impor o tamanho eleito. DeDocumentos do GraphicsMagick:
Acrescente um ponto de exclamação à geometria para forçar o tamanho da imagem exatamente ao tamanho que você especificou. Por exemplo, se você especificar 640x480! a largura da imagem é definida como 640 pixels e a altura como 480.
Então, a partir do exemplo acima:
$ gm convert -resize 1000x! in.jpg out.jpg
Isso resulta em uma imagem com exatamente 1000 pixels de largura:
$ gm identify -verbose out.jpg
==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==> Geometry: 1000x591