você está aqui: Home  → Arquivo de Mensagens Curso Gratuito sobre Expressões Regulares, com o Prof.  Julio Neves

Acrescentar sombras e bordas a imagens com Imagemagick

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 09 de setembro de 2010

Recentemente, eu alterei o formato de envio das mensagens da Dicas-L, para poder usar recursos da linguagem HTML, como por exemplo a inserção de imagens. Um recurso que sempre achei interessante é acrescentar sombras às imagens. Eu acho bem sofisticado e elegante, parece que as imagens flutuam sobre a página.

Sendo quase que totalmente ignorante no uso de softwares de edição de imagens como o Gimp. Para fazer qualquer tipo de edição de imagens eu uso o software ImageMagick (na dicas-L já foram publicadas várias dicas sobre o ImageMagick). Mas voltemos às sombras. No artigo Add Shadow and Border to Images with ImageMagick, de autoria de Ian Homer, tem um script pronto para usar que faz todo o trabalho para você. O autor escreveu, na verdade, uma função, mas eu prefiro usar como um script.

A função é bem simples, apenas 11 linhas:

image-shadow () {
  out=${1%.*}-shadow.${1#*.}
  in=$1
  echo "Converted file : $out"
  if [ ! -z $2 ] ; then 
    convert $in -frame $2 $out
    in=$out
  fi
  convert $in \( +clone -background black -shadow 60x5+10+10 \) \
    +swap -background white -layers merge +repage $out
}

Para usar como função, basta copiar as linhas acima e incluir em seus scripts de inicialização, (arquivo .bashrc por exemplo). Como exemplo, tomemos a seguinte foto:

Após executarmos o comando:

image-shadow prettywoman.jpg

O script cria uma nova imagem, de mesmo nome, porém com o sufixo -shadow. Veja o resultado:

Mas podemos também inserir bordas na imagem, juntamente com a sombra:

image-shadow prettywoman.jpg 6x6

A diretiva 6x6 indica o tipo de borda que queremos adicionar à imagem. Veja o resultado:

Excelente, não?



Veja a relação completa dos artigos de Rubens Queiroz de Almeida