= $y) { if ($x > $aprox) { $x1= (int)($x * ($aprox/$x)); $y1= (int)($y * ($aprox/$x)); } // incluido o else abaixo. Caso a imagem seja menor do que // deve ser aproximado, mantém tamanho original para o thumb. else { $x1= $x; $y1= $y; } } else { if ($y > $aprox) { $x1= (int)($x * ($aprox/$y)); $y1= (int)($y * ($aprox/$y)); } // incluido o else abaixo. Caso a imagem seja menor do que // deve ser aproximado, mantém tamanho original para o thumb. else { $x1= $x; $y1= $y; } } $x= $x1; $y= $y1; // cria a imagem do thumbnail $img_final = ImageCreateTrueColor($x, $y); ImageCopyResampled($img_final, $img_origem, 0, 0, 0, 0, $x+1, $y+1, $origem_x, $origem_y); // o arquivo é gravado if ($ext == "png") imagepng($img_final, $arquivo_miniatura); elseif ($ext == "jpg") imagejpeg($img_final, $arquivo_miniatura); // a memória usada para tudo isso é liberada. ImageDestroy($img_origem); ImageDestroy($img_final); } ?>