magick mogrify -resize 800x800 *.png redimensiona todas as imagens de uma pasta com um único comando — mas o mogrify sobrescreve os arquivos originais nesse processo, e essa é a armadilha que quase ninguém menciona. Aqui também tem como redimensionar uma única imagem sem distorcer, o loop de duas linhas que salva o resultado numa pasta separada em vez de destruir os originais, e uma medição real mostrando que reduzir as dimensões nem sempre reduz o arquivo.
1. Redimensionar uma imagem mantendo a proporção
$ clai reduza esta imagem para 320 pixels no lado maior→ magick test1.png -resize 320x320 out1.jpg
320x320 é uma caixa delimitadora, não um tamanho fixo: o ImageMagick mantém a proporção e encaixa a imagem dentro dela. O original de 800x600 virou 320x240.
2. Reduzir o tamanho não reduz o arquivo
$ clai compara o tamanho do arquivo antes e depois→ identify -format '%wx%h %b\n' test1.png out1.jpg800x600 382B320x240 1188B
Essa é uma medição real, não uma suposição. Uma imagem PNG de cor sólida pesava 382 bytes; depois de reduzida para 320x240 e convertida para JPEG, passou a pesar 1188 bytes — o triplo. O PNG comprime áreas sólidas quase perfeitamente, o JPEG não foi feito para isso. Sempre confira o resultado em vez de presumir.
3. A pasta inteira de uma vez, com segurança
$ clai reduza todos os png desta pasta para 800 pixels, sem mexer nos originais→ mkdir -p resized && for f in *.png; do magick "$f" -resize 800x800 "resized/$f"; done
Um loop com uma pasta de destino separada. As aspas ao redor de $f são obrigatórias — sem elas, o primeiro nome de arquivo com espaço quebra todo o processamento.
4. mogrify: rápido, mas irreversível
$ clai reduza todas as imagens da pasta diretamente no lugar→ magick mogrify -resize 800x800 *.png⚠ CAUTION — overwrites originals, no undo
mogrify existe justamente para processamento em lote no lugar, e por isso é mais rápido que um loop — ele não faz nada além de sobrescrever no mesmo lugar. Pelo mesmo motivo é perigoso: depois que roda, os originais somem. Copie a pasta antes de rodar.
5. Trocar o formato da pasta inteira
$ clai transforme todos os png desta pasta em jpeg com qualidade 85→ magick mogrify -format jpg -quality 85 *.png
-format cria arquivos com a nova extensão ao lado dos antigos — os png originais ficam intactos. É o único modo do mogrify que não sobrescreve nada.
6. Reduzir sem esticar
$ clai reduza só as imagens maiores que 1200 pixels→ magick mogrify -resize '1200x1200>' *.jpg
O símbolo > significa «só se for maior». Sem ele, imagens pequenas são esticadas até 1200 e perdem qualidade. As aspas evitam que o shell interprete > como redirecionamento de saída — o erro mais comum com essa flag.
Pegadinhas
mogrifysobrescreve os originais. Não éconvert, nemmagick file out, e simmogrifyespecificamente. A única exceção é o modo-format, que cria arquivos novos.- No ImageMagick 7 o comando se chama
magick. Oconvertfoi mantido por compatibilidade e pode estar totalmente ausente em instalações novas.magick mogrifyfunciona nas duas gerações. -resizesem flag também aumenta. Os modificadores:>só reduzir,<só aumentar,!ignorar a proporção,^preencher a caixa e cortar.
Perguntas relacionadas
Como recorto no centro para um tamanho exato? magick in.jpg -resize '400x400^' -gravity center -extent 400x400 out.jpg — primeiro preenche a caixa, depois corta o excedente.
Como vejo as dimensões sem abrir o arquivo? identify -format '%wx%h %b\n' file.jpg. Para uma pasta inteira: identify -format '%wx%h %f\n' *.jpg.
Por que o ImageMagick é melhor que um serviço online? Os arquivos nunca saem da sua máquina, não há limite de quantidade, e um único comando processa mil imagens.
Veja também
O CliAI escreve os flags certos do ImageMagick pro que você descrever, redimensionamento e conversão de formato inclusos. Instale em uma linha.