Force GraphicsMagick para redimensionar a imagem para uma largura específica

2

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 eu 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 aplicar a largura correta? Eu suponho que está fazendo alguma estimativa para preservar as proporções.

    
por Ruben Schade 28.10.2016 / 12:07

1 resposta

1

Descobri isso, você usa um ponto de exclamação para reforçar o tamanho eleito. Nos documentos do GraphicsMagick :

Append an exclamation point to the geometry to force the image size to exactly the size you specify. For example, if you specify 640x480! the image width is set to 640 pixels and height to 480.

Assim, a partir do exemplo acima:

$ gm convert -resize 1000x! in.jpg out.jpg

Isso resulta em uma imagem com exatamente 1.000 pixels de largura:

$ gm identify -verbose out.jpg

==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==>   Geometry: 1000x591
    
por 22.12.2016 / 00:22