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.