Thumb

Com muita frequência precisamos em aplicativos web, criar Thumbs de fotos para visualização primária, e aqui vamos aprender uma simples dica de como fazer isso com PHP e C#.

No PHP eu estou vendo que a libary GD está está ficando obsoleta e existe algo muito mais interessante toda feita em OO, e o nome dessa magnífica extensão é ImageMagick e também temos o Gmagick.

Para fins de produção todos os servidores que eu tenho sites hospedado tem essa extensão, basta ter o php 5.x.x pra cima.

Vamos ao que interessa:

// Aqui dizemos ao navegador que vamos ter uma saída diferente de text/html
// vamos ter um ouput de image/jpeg
header('Content-type: image/jpeg');

// criamos o objeto passando a imagem a ser tratada
$image = new Imagick('images/19-05-08_1925.jpg');

// usamos o método thumbnailImage para criar o Thumb
// O primeiro parâmetro é o width
// O segundo é o height
// se um dos parâmtros for zero ele mantem o
// aspect ratio original
$image->thumbnailImage(100, 0);

// Mostra a Imagem
echo $image;

Agora com C#:

//Define variáveis
System.Drawing.Image imagem;
System.Drawing.Image thumb;

//Recupera a imagem original
imagem = System.Drawing.Image.FromFile("CAMINHO_ARQUIVO");

//Aqui é feita a renderização proporcional da altura da imagem
//tomando por base que o largura final dela é de 50px;
int width = 50;
int height;
height = (int)(width * imagem.Height) / imagem.Width;

//Gera a nova imagem reduzida
thumb = imagem.GetThumbnailImage(width, height, null, System.IntPtr.Zero);

//Salva a imagem
thumb.Save("CAMINHO_THUMB");

Ai está o seu Thumbs!

Fontes:

http://social.msdn.microsoft.com

http://www.php.net/manual/pt_BR/function.imagick-thumbnailimage.php

P.S.:

Você pode usar essas ferramentas para fazer resizer da image utilizando a seguinte ferramenta:  http://www.defusion.org.uk/demos/060519/cropper.php?demoType=minDimensions&image=castle&formSubmit=Load+demo

Posts Relacionados