vou postar aqui pra quem precisar blz....
classe.php
<?php
/**
* @author squall
* @copyright 2009
*/
class Thumbs
{
//variaveis necessárias para gerar thumbs
public $caminho;
public $nome;
public $tamanho;
public $arquivo;
public $ext;
public $tipo;
public $ImagemGerada;
public function Thumbs()
{
// definindo valores padrão de variaveis
$this->tipo = 1;
$this->nome = date('YmdHis');
}
//preparando imagem
public function Prepare()
{
// verifica imagem se existe
if(file_exists($this->arquivo))
{
// gerando nome da nova imagem
$this->NomeImagem();
if(!file_exists($this->ImagemGerada))
{
// pegando tamanho da imagem
$img_tamanho = @getimagesize($this->arquivo);
// comparando tamanho solicitado com tamanho atual da imagem
if($img_tamanho[0] > $this->tamanho)
{
// pegando extensão da imagem
$this->ext = substr($this->arquivo,-3);
// verificando se o caminho e existente/ se não cria diretório
$this->CriarDir();
// gerando imagem
return $NovaImagem = $this->Gerar();
}
else
{
// se o tamanho e menor que o solicitado , retorna imagem
return $this->arquivo;
}
}
else
return $this->ImagemGerada; // retorno da imagem existente
}
else
return false; //retorna false se o arquivo nao for encontrado
}
// Gerador de Thumbs
public function Gerar()
{
// se extesão for jpg
if($this->ext == "jpg")
{
$imagem_orig = @imagecreatefromjpeg($this->arquivo);
}
elseif($this->ext=="png")
{
$imagem_orig = @ImageCreateFromPNG($this->arquivo);
}
elseif($this->ext=="gif")
{
$imagem_orig = @ImageCreateFromGIF($this->arquivo);
}
// pegando tamanhos da imagem
$pontoX = @ImagesX($imagem_orig);
$pontoY = @ImagesY($imagem_orig);
// gerando altura proporcional ao tamanho solicitado
$altura=($this->tamanho * $pontoY)/$pontoX;
//gerando imagem final
$imagem_final=@ImageCreateTrueColor($this->tamanho,$altura);
@ImageCopyResampled($imagem_final,$imagem_orig, 0, 0, 0, 0,$this->tamanho,$altura,$pontoX,$pontoY);
$imagem_ext=@substr($this->arquivo,-3);
// gerando arquivo
if($this->ext=="jpg")
@imagejpeg($imagem_final,$this->ImagemGerada,80);
if($this->ext == "png")
@imagepng($imagem_final,$this->ImagemGerada);
if($this->ext == "gif")
@imagegif($imagem_final,$this->ImagemGerada);
// destruindo informações desnecessárias
@imageDestroy($imagem_orig);
@imageDestroy($imagem_final);
//retornando caminho da nova imagem
return $imagem_gerada;
}
public function CriarDir()
{
if(!is_dir($this->caminho))
{
mkdir($this->caminho,0777);
}
}
public function NomeImagem()
{
//pegando nome original da imagem
$imagemLimpando = @explode("/",$this->arquivo);
$imagemNome = $imagemLimpando[(count($imagemLimpando) - 1)];
// se o tipo for igual a 1 ele usa o nome original da imagem
// se não ele usa o timestamp para gerar um nome unico
if($this->tipo == 1) $imagem_gerada=$this->caminho . $imagemNome;
else $imagem_gerada = $this->caminho . $this->nome . "." . $this->ext;
$this->ImagemGerada = $imagem_gerada;
}
}
?>como usar a classe
<?php
/**
* @author squall
* @copyright 2009
*/
include("Thumbs.php");
$Gerar = new Thumbs();
$Gerar->caminho = "dddddde/";
$Gerar->tamanho = 250;
$Gerar->arquivo = "dir/sss.jpg";
$imagem = $Gerar->Prepare();
?>
<img src="<?=$imagem;?>" />tai .. falows...
Edição feita por: Squall Robert, 03/01/2009, 07:17.















