2010/1/3 Antonio Olinto <[email protected]>: > Olá! Feliz 2010! > > Meu problema é o seguinte: Em um diretório tenho centenas de fotos jpg em > alta resolução e quero passa-las para outro diretório com tamanho reduzido, > também como jpg. > > Tentei utilizar o convert mas estou tomando uma surra. > > > Aqui tenho apenas uns arquivos sem conteúdo no diretório > /home/antonio/Fotos/Album/ > > Com convert -size 1632x1088 *.* /home/antonio/Fotos/Album/
Faça assim: for foriginal in `ls -1 *.jpg`; do echo -n "Convertendo $foriginal " convert -resize 1632x1088 $foriginal /home/antonio/Fotos/Album/$foriginal echo feito. done Quando se usa os coringas *, que faz a expansao ea shell, e não o programa (convert), além do que o convert precisa explicitamente ter como parâmetro o arquivo de entrada e o de saída. E existe uma diferença no resultado usando o -size e o -resize, que não lembro exatamente qual o resultado, Mas, o resize que vc quer usar. Talvez queira melhorar a qualidade da conversão e outros tratamentos, tente esse: #!/bin/sh DIN="/mnt/tmp/dados/Niver_Aline_1_editado" for FIN in `ls $DIN/*.jpg`; do FOTO=`basename $FIN` echo -n . convert $FIN +profile '*' -filter Lanczos -modulate 106,125 -resize 640x480 -unsharp 4x2+25 -quality 95 $FOTO done Ajusta o contraste e o brilho, aplica um unsharp e reduz para 640x480. -- Paulino Kenji Sato http://www.nobel.com.br -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

