Redimensionamento e recorte de imagens para uma proporção de 6x4 com largura de 1024 pixels

5

Eu tenho um conjunto misto de imagens, cada uma com uma resolução ligeiramente diferente, com uma proporção ligeiramente diferente das outras imagens.

Eu tentei usar comandos como

convert -resize

e

convert -crop

mas não consegue descobrir o comando correto para fazer com que todas as imagens tenham uma largura de 1024 e uma proporção de 6x4, sem fazer com que a imagem seja esticada ou comprimida.

    
por oshirowanen 25.04.2011 / 15:06

1 resposta

9

Você quer que todas as suas fotos sejam 6x4 com uma largura de 1024, certo? Isso significa que eles devem ter 683 pixels de altura.

Se isso estiver correto, o que você está procurando é ...

convert <input_image> -resize 1024x683^ -gravity center -extent 1024x683 <output_image>

... onde você poderia substituir pelo nome do arquivo da imagem que deseja redimensionar e com o novo nome do arquivo.

Isso cortará as bordas para ajustar-se ao aspecto e redimensioná-las para 1024x683. Isso tornará as imagens pequenas maiores, além de tornar as imagens grandes menores para se adequarem ao seu tamanho.

Quando quiser redimensionar todas as imagens em um diretório, você precisará escrever um script rápido, que se pareça com ...

#!/bin/bash

for f in *.[jJ][pP][gG]
do
    echo $f
    convert $f  -resize 1024x683^  -gravity center  -extent 1024x683  print_$f
done

Você apenas torna o script executável. (Digamos que você salvou o script como rename.sh , você executa chmod u+x rename.sh .) Em seguida, você executa o script ./rename.sh , que redimensionará todas as imagens no mesmo diretório.

    
por 25.04.2011 / 15:59