Converter todas as imagens de um diretório
Script que utiliza o convert (do pacote ImageMagick) para converter entre formatos de imagens. No exemplo estou convertendo imagens no formato .png para .ico, porém basta alterar os formatos dentro do script para os formatos desejados e/ou os efeitos disponíveis com o convert.
Embora simples, o script serve também como exemplo de iteração nos arquivos dentro de um diretório, podendo ser adaptado para outras funcionalidades.
Embora simples, o script serve também como exemplo de iteração nos arquivos dentro de um diretório, podendo ser adaptado para outras funcionalidades.
Descrição
Script que utiliza o convert (do pacote ImageMagick) para converter entre formatos de imagens. No exemplo estou convertendo imagens no formato .png para .ico, porém basta alterar os formatos dentro do script para os formatos desejados e/ou os efeitos disponíveis com o convert.
Embora simples, o script serve também como exemplo de iteração nos arquivos dentro de um diretório, podendo ser adaptado para outras funcionalidades.
Embora simples, o script serve também como exemplo de iteração nos arquivos dentro de um diretório, podendo ser adaptado para outras funcionalidades.
#!/bin/bash
#Conversor entre formatos de imagem - Vinícius Evandro Gregório
# salva o diretorio atual
currentdir=`pwd`
# recuperar todos os arquivos *.png
for original in *.png; do
#substitui as extensões
nome="${original/.png/.ico}"
echo $nome
# converte o .png em .ico
convert $original $nome
done
# mover para o diretório da nova extensão
dirtemp=$currentdir/ico
# se o diretorio não existir, entao criar o diretorio
if [ ! -e $dirtemp ];
then
mkdir $dirtemp
fi
mv *.ico $dirtemp
$ for f in *.jpg; do convert -verbose $f ${f%.*}.png; done
para converter entre outros formatos, basta mudar o '.jpg' (arquivo origem) e o '.png' (arquivo destino)
Explicando: para cada arquivo com a extensão '.jpg' o for converte (usando o comando convert) para o formato .png e renomeia o arquivo convertido trocando sua extensão .jpg pelo .png ( ${f%.*}.png )
OBS: o 'for' pode ser usado em diversas situações, use a imaginação! =)