Código simples e prático sendo um gerador de thumbs para imagens do tipo jpeg, png e gif.
Possibilitando definir a qualidade da imagem e suas dimensões (Largura x Altura) redimensionando-a proporcionalmente de acordo com o tamanho determinado para a imagem.
function gera_thumb($nome_img, $lar_maxima, $alt_maxima, $qualidade) { if($qualidade == ''){ $qualidade = 100; } $size = getimagesize($nome_img); $tipo = $size[2]; # Pega onde está a imagem e carrega if($tipo == 2){ // 2 é o JPG $img = imagecreatefromjpeg($nome_img); } if($tipo == 1){ // 1 é o GIF $img = imagecreatefromgif($nome_img); } if($tipo == 3){ // 3 é PNG $img = imagecreatefrompng($nome_img); } // Se a imagem foi carregada com sucesso, testa o tamanho da mesma if ($img) { // Pega o tamanho da imagem e proporção de resize $width = imagesx($img); $height = imagesy($img); $scale = min($lar_maxima/$width, $alt_maxima/$height); // Se a imagem é maior que o permitido, encolhe ela! if ($scale < 1) { $new_width = floor($scale*$width); $new_height = floor($scale*$height); // Cria uma imagem temporária $tmp_img = imagecreatetruecolor($new_width, $new_height); // Copia e resize a imagem velha na nova imagecopyresampled ($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height); // imagedestroy($img); $img = $tmp_img; } } header("Content-type:image/gif"); imagejpeg($img,'',$qualidade); imagedestroy($img); } gera_thumb($_GET['img'],$_GET['x'],$_GET['y'],$_GET['q']); ///////////////////////////////////// COMO USAR //////////////////////////////////////////// /**/ ?> // Somente utilize a chamada abaixo para a exibição das imagens: // x: largura(120) | y: altura(40) | q: qualidade(90)