<?

/*
Fun��o para criar uma miniatura de uma figura, Thumb.
Requer biblioteca GD2.

Cria uma miniatura de um arquivo JPG, JPEG, GIF ou PNG com efeito de alisamento.

Fun��o Thumb(CAMINHO DO ARQUIVO, LARGURA*, ALTURA*, QUALIDADE*); *Opcionais
se n�o for especificada uma largura para figura, gera uma thumb de 75px por tamanho proporcional de altura
se n�o for expecificada a qualidade cria uma figura com 75% de qualidade

Criado por Leonardo Giori - BOZO
bozo@gambiarra.com.br

Se usar e puder dar credito, agrade�o!

www.gambiarra.com.br 
Aos trancos e barrancos

*/

Function Thumb($imagem,$x='',$y='',$qualidade=''){

$extensao = explode(".",$imagem);
$extensao = strtoupper(end($extensao));

if(($extensao=="JPG") OR ($extensao=="JPEG")){
$tipo = "JPEG";
}
elseif($extensao=="GIF"){
$tipo = "GIF";
}
elseif($extensao=="PNG"){
$tipo = "PNG";
}
else{
$tipo = "NULL";
}

$CriarImagemDe= 'ImageCreateFrom'.$tipo;
$img = $CriarImagemDe($imagem); 

if($x==""){
$x = "75";
}

if($qualidade==""){
$qualidade = "75";
}

$largura = ImageSX($img);
$altura = ImageSY($img);
$img_largura = $x;
$img_altura = $altura * $x / $largura;
								
if($y==""){
$y = "$img_altura";
}

//Aqui � criada a nova imagem
$img_nova = imagecreatetruecolor ($x,$y); 
imagecopyresampled($img_nova, $img, 0, 0, 0, 0, $img_largura, $img_altura, $largura, $altura); 

//Cabe�alhos de img para printar a imagem na tela  
    Header("Content-disposition: filename=$imagem"); 
    Header("Content-Type: image/$tipo"); 
    ImageInterlace($img_nova,1); 
	$Image = "Image".$tipo;
    $Image($img_nova,"","$qualidade"); 
	ImageDestroy($img_nova); 
    ImageDestroY($img); 

}


//exemplo de como usar
Thumb("figura.GIF",100,0,100);


?>