Arquivo

Posts Tagged ‘image magick’

Perl + Image Magick: Exemplo 4 (Gerando Thumbnails)

22 julho, 2008 2 comentários

Se você sempre achou dificil encontrar aquele programa que fizesse de tudo com suas imagens, enfim, sua procura acabou não é mesmo?

Ao acompanhar estes tutoriais você com certeza deve estar convencido da qualidade do IM.

E neste assunto o IM também não poderia ficar de fora – Gerar Thumbnails

O ImageMagick é essencial para redimensionar imagens com qualidade. Além de suportar inúmeros tipos de arquivos, ele transforma nossas imagens em perfeitas cópias remodeladas, e o melhor, sem exagerar no tamanho. Vamos ver passo-a-passo de um exemplo de como redimensionar imagens com ele, e em seguida uma demonstração.

Primeiro, devemos instanciar o módulo

$novo = Image::Magick -> new( );

Em seguida, carregamos a imagem que iremos trabalhar

$novo -> Read(“$caminho”);

Agora vamos obter as dimensões da imagem

($largura, $altura) = $novo -> Get(‘width’, ‘height’);

Tendo sido definida a nova largura, fazemos uma regra de três para obter a dimensão final restante, no caso a altura final

$n_a=($n_l*$altura/$largura);

Agora, a função que realiza todo o trabalho, Resize

  $nova_imagem  = $novo -> Resize(
  width => $n_l,
  height => $n_a,
  );

Enfim mandamos escrever a nova imagem

$nova_imagem = $novo -> Write(“$saida/thumb.jpg”);

Pronto, você agora tem um redimensionador de imagens da melhor qualidade! Se comparando com o GD, podemos notar como o ImageMagick é capaz de suavizar os pontos da imagem, tornando-a assim muito mais nítida. Veja: 


 

 

Imagem Original

Imagem Original

 

 

Imagem redimensionada usando GD

Resultado: Usando GD

 

 

Usando ImageMagick

Resultado: Usando ImageMagick

 

 


 

 

Veja o Código Completo:
(im-exemplo4.pl)

#!/usr/bin/perl
use Image::Magick;
$caminho =”/home/imagem.jpg”; # Imagem Original
$saida= “/home”; # Saída da Thumbnail
$n_l=”90″; # Nova largura que a thumbnail terá

##############################################################
$novo = Image::Magick -> new( ) or die $!; # Cria imagem
$novo -> Read(“$caminho”); # Lê a imagem

($largura, $altura) = $novo -> Get(‘width’, ‘height’); # Pega as dimensões

$n_a=($n_l*$altura/$largura); # REGRA DE TRÊS

#### Redimensiona ####
$nova_imagem = $novo -> Resize(
width => $n_l,
height => $n_a,
);
#####################

$caminho =~ s/.*(/|\)//gi; # …Queremos só o nome da imagem
$nova_imagem = $novo -> Write(“$saida/thumb_$caminho”);
print “Thumbnail gerada com sucesso!”;

##############################################################

 Image Magick
[ 1 | 2 | 3 | 4 | 5 ]

Anúncios

Perl + Image Magick (Instalação)

O Image Magick, pra quem não conhece, é uma poderosa ferramenta para criação e manipulação de imagens. Com recursos bastante avançados, este editor se diferencia dos demais pela sua característica principal – ser manipulado por interfaces dinâmicas, seja ela C, C++, CGI/Perl, Java, Python ou outras.
O Image Magick supera em muito, seu principal concorrente, o GD, tanto na compatibilidade de formatos como em qualidade. Enquanto o GD trabalha apenas com GIF, JPG e PNG, o Image Magick suporta trabalhar com a impressionante marca de até 144 tipos de arquivos diferentes. Além disso, efeitos à la Photoshop (Aguçar, Borrar, Entalhe, Girar, Ruído, Torcer, etc..) foram juntamente trazidos à linha de comando do programador por este completo programa de imagens.

Mas, antes de ver exemplos sobre como utilizar esta belíssima ferramenta, vamos aos passos de instalação:

  1. Programas Necessários

    Perl 5 ou Superior

    ImageMagick 6 ou Superior

  2. Instalando 

    A instalação do Image Magick não possui complicações e o próprio instalador irá configurar o módulo Perl para você.
    Porém, após instalar, caso ocorra um erro ‘Não foi possível ler uma dll’. Algo como: Can’t load ‘C:/perl/site/lib/auto/Image/Magick/Magick.dll’ for module Image::Magick, você deve copiar todos os arquivos dll’s de onde se encontra o binário ‘imdisplay.exe’ (o padrão é ‘C:/Arquivos de Programas/ImageMagick-XXX-XXX) e colocá-los na a pasta ‘C:/perl/site/lib/auto/Image/Magick. Mas lembre-se de copiar também as dll’s ocultas, caso contrário, o erro continuará.

Seguindo estes comandos você provavelmente irá obter o ImageMagick instalado em seu sistema.