Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux



» Screenshot
Linux: Novo GIMP 2.0
Por nelsonvn
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper
Linux: Goot root ?
Por rogermdl


Scripts

Linux user

Publicado por Vinícius Evandro Gregório em 28/10/2008    [ 1728 hits ]

Login: gsi.vinicius, 124061 pontos

   


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.

[ Download: converte-png-ico.sh ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#!/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

Scripts recomendados
   Script Linux recomendado Tabuadinha 0.9
   Script Linux recomendado Teste de Índice de Massa Corporal (IMC)
   Script Linux recomendado Cadastro em shell
   Script Linux recomendado Calculadora com 4 funções
   Script Linux recomendado Criando uma lixeira [Melhorado]

Comentários
[1] Comentário enviado por esojep em 29/10/2008 - 09:03h:

DICA: por exemplo, se você quiser apenas converter os arquivos jpg para png faça:

$ 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! =)

[2] Comentário enviado por esojep em 29/10/2008 - 09:05h:

Mais uma dica, em vez de ter que editar o seu script e alterar os formatos dos arquivos a serem convertidos, seria mais interessante passa-los como argumento na linha de comando utilizando as variaveis $1, $2, ...

[]s

[3] Comentário enviado por esojep em 29/10/2008 - 09:08h:

Só mais uma dica: man convert
Esse comando tem muitas opções interessantes!


Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Copyleft 2002-2009 Viva o Linux.com.br

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.