Redimensione a imagem de tal forma que ela preencha um quadrado de 100x100

2

Eu quero criar miniaturas para todas as imagens de uma pasta. Eu também quero que as imagens caibam em um quadrado de 100x100 pixels.

Então, depois de redimensionar as imagens, enquanto o lado menor precisa ter 100 pixels, o lado maior deve ser cortado de modo a torná-lo igual a 100.

Com o ImageMagick, tentei:

for i in $(ls *.jpg); do convert -scale 100 $i th-$i; done

Funciona, mas para uma imagem de exemplo de 1000x800, a imagem reduzida tem um tamanho de 100x80 em vez de 100x100.

    
por user1170330 03.01.2016 / 17:59

2 respostas

0

Tente isto:

for i in $(ls *.jpg); do convert -resize 100x100^ -gravity center -crop 100x100+0+0 $i th-$i; done

Você pode encontrar mais exemplos de redimensionamento e dimensionamento aqui " Redimensionamento para preencher um determinado espaço "parece ser mais relevante para o seu problema.

    
por usmanayubsh 03.01.2016 / 18:41
0

O método a seguir pode ser útil:

for i in *.jpg
do
convert "$i" -resize 100x100 -background white -compose Copy \
-gravity center -extent 100x100 "${i%.jpg}_thumb.jpg"
done

Você deve alterar a cor do plano de fundo de acordo com a cor de fundo do seu gerenciador de arquivos ...

    
por andrew.46 09.07.2016 / 03:16