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.