“
Escrevi alguns pequenos artigos sobre o uso do ImageMagick. São eles: - Redimensionamento seletivo de imagens; - Inserindo marca d'água em imagens; - Tira diária do Níquel Náusea no fundo de tela; - Tira diária 2: Dilbert. Espero que sejam úteis.” A nota foi enviada por Luciano Siqueira (lcnsqrΘyahoo·com·br), que acrescentou este
link da fonte para maiores detalhes.
Reproduzo abaixo o artigo do Luciano sobre redimensionamento seletivo.
Redimensionamento seletivo de imagens com ImageMagick
Algumas vezes, precisamos redimensionar imagens como
screenshots para que elas melhor se acomodem ao layout de um site e não extrapolem os limites estabelecidos.
O Imagemagick, através do comando
convert, permite que façamos o redimensionamento facilmente através da linha de comando:
convert -scale 420 <imagem original> <imagem final>
valor
420 se refere ao comprimento da imagem em pixels. Omitindo o valor para altura, a imagem resultante terá o comprimento fornecido e a altura será automaticamente calculada para manter a proporção original da imagem.
Este comando é bastante útil quando usado recursivamente, para redimensionar todas as imagens em uma árvore de diretório.
Porém, ele acabaria por expandir imagens pequenas , o que não é o propósito. Para resolver este problema, precisamos checar o tamanho da imagem antes de redimensioná-la, com outro comando do pacote ImageMagick:
identify
identify -format '%w' <imagem original>
O argumento
-format '%w' retorna apenas o valor do comprimento da imagem. Que é o que nos interessa.
Por fim, é possível escrever um pequeno script para redimensionar recursivamente todas as imagens que excederem o comprimento de 420 pixels:
comprimento=420
for imagem in $(find . -regex .*png); do
if [ $(identify -format '%w' $imagem) -gt $comprimento ]; then
mogrify -scale $comprimento $imagem
fi
done
O comando
mogrify realiza as mesmas funções do
convert, mas aplica as transformações diretamente na imagem original. Portanto, tenha cuidado ao usar esse script, pois perderá as imagens originais. Salve este script em um arquivo e adicione o atributo de execução:
chmod +x <script>
Não se esqueça de trocar a extensão do arquivo no argumento na segunda linha, no comando
find, para corresponder ao tipo de arquivo que deseja trabalhar.