Tenho uma enorme galeria de 12 GB no servidor, cheia de imagens em várias subpastas. Esses arquivos são muito grandes e não são usados em resolução total. Preciso redimensionar todas as imagens até 820px de largura (mantendo as proporções). Portanto, minha pergunta é: como posso criar algum tipo de script de rastreamento que redimensione todas as imagens maiores que 820px e as salve novamente substituindo o arquivo original?
Espero que você possa me ajudar :-) Agradecemos antecipadamente.
linux
images
batch-jobs
G-Gore
fonte
fonte
find . -name "*.jpg" -exec mogrify -resize 820x {} +
fará todos eles; se você não quiser processar os "inferiores a 820px", existem algumas opções aqui .Respostas:
As ferramentas do ImageMagick, converter ou mogrificar, farão o trabalho.
Você pode obtê-los através do seu gerenciador de pacotes ou do source / rpms aqui: http://www.imagemagick.org/script/binary-releases.php#unix
Uso básico:
Se você precisar de recursão:
fonte
find . -name '*.jpg' -execdir mogrify -resize '820x620>' {} \;
Use
convert
para fazer o trabalho.convert -resize "1024x768>" origIMG destIMG
redimensionará o origIMG para 1024x768, mantendo a proporção e o redimensionamento apenas se a imagem for maior que 1024, armazenando a nova imagem no destIMG. Depois disso, você pode mover o destIMG para o original.Use um loop para percorrer todos os seus diretórios ou use
find
.fonte
find
?