Exemplo de uso básico de Imagick

Vejamos alguns exemplos básicos para dar nossos primeiros passos com Imagick.

Por Sara Alvarez Langa - Tradução de Celeste Veiga


Publicado em: 04/9/13
Valorize este artigo:
Já no primeiro artigo mencionávamos que Imagick era muito simples de utilizar e que acabará com nosso medo ao processar ou retocar imagens com PHP.

Bom, hoje vamos ver como é simples fazer, por exemplo, uma miniatura. Começaremos por algo bem básico, que é justamente criar uma miniatura a partir de uma imagem que já temos no nosso servidor.

Para isso só necessitamos das seguintes linhas em PHP:

<?php

$imagen= new Imagick('imagen.jpg');
$imagen->thumbnailImage(100,0);

echo $imagen;

?>

Nestas linhas o que fizemos foi o seguinte: Primeiro criamos o objeto imagem, passando a ele a imagem original. E a continuação criamos a miniatura com thumbnailImage (100,0). O que há entre os parênteses são as dimensões da miniatura, tendo sempre presente que se for 0 uma das duas (altura ou largura ), quer dizer que queremos que guarde as proporções. Como se pode ver é bastante simples e é uma prática muito comum hoje em dia.

Mas isto não é tudo. Além disso, podemos criar miniaturas de todo um diretório com mais umas poucas linhas :

<?php

$imágenes=new Imagick(glob('imagenes/*.JPG'));

foreach($imágenes as $imagen){

   $imagen->thumbnailImage(1024,0);

}

$imágenes->writeImages();

?>

Com este código o que estamos fazendo é o seguinte:
Criamos o objeto imagens que vai conter todas as imagens da pasta "imagens" que tenham extensão .jpg

A continuação implementamos um loop para ir criando uma a uma as miniaturas de dessas imagens.

E terminamos escrevendo todas as imagens.

Como vocês estão podendo comprovar, Imagick é bastante potente e nos permite trabalhar com imagens de uma forma bastante rápida e simples.

Para terminar com estes exemplos simples, vamos ver como podemos redimensionar um GIF animado.
Antes de continuar, temos que comentar que, por ser um GIF animado, consta de vários fotogramas e temos que redimensionar cada fotograma para poder fazer o próprio com o GIF animado.

Como fizemos até o momento, vamos colocar o código e a seguir o comentamos.

<?php

//Criar um novo objeto imagick e lemos o GIF
$im = new Imagick("ejemplo.gif");

//Redimensionamos todos os fotogramas
foreach($im as $fotograma){
   $fotograma->thumbnailImage(50,50);

   //Estabelecemos uma tela virtual para corrigir o tamanho
   $fotograma->setImagePage(50,50,0,0);
}

$im->writeImages("example_small.gif",true);
?>

Bom, este exemplo é algo mais complexo, mas se vocês observarem, os primeiros passos são sempre os mesmos.
Criamos o novo objeto com o que vamos trabalhar. A seguir fazemos um loop e é aqui onde vemos as coisas novas.
Primeiro criamos a miniatura de cada fotograma e depois estabelecemos telas virtuais para por último e já fora do loop, criar nosso novo GIF animado já com os novos tamanhos.

No próximo artigo veremos como fazer algo mais complicado, daremos efeito espelho a uma imagem com Imagick.






Usuários :    login / registro

Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato