Boa noite to trabalhando no desenvolvimento de uma galaria de fotos que redimenciona as fotos de acordo com o pedido url chamada img.php?x=640&y=640&file=../../data/albuns/2/1224 (2).jpg X e Y = dimencoes da imagem de saida obs. acima de 150px sai com logomarca do site file = caminho do arquivo a ser redimencionado tudo funciona mas a qualidade fica ruim um tempo atras ouvi falar que tem uma função que retorna a qualidade original da imagem para a saida segue o codigo fonte de img.php <?php /////////////////////////////////////////////////// //obs tamanho maximo do thunbs 150px /////////////////////////////////////////////////// function reduz_imagem($img, $max_x, $max_y , $x) { // recebe a imagem , x , y , extenção ; sempre jpg list($width, $height) = getimagesize($img); // obtem dimenções $original_x = $width; $original_y = $height; if($original_x > $original_y) { //verifica se largura e maior que altura ou vice versa $porcentagem = (100 * $max_x) / $original_x; } else { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); //obtem a porcentagem de relação entre os tamanho original e maximo $tamanho_y = $original_y * ($porcentagem / 100); //largura e altura $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefromjpeg($img); // cria a imagem imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); //não sei bem para que serve est aparte /// apenas colooca os dados no array $reduzido=array(); $reduzido[1]=$image_p; $reduzido[2]=$porcentagem; $reduzido[3]=$tamanho_x; $reduzido[4]=$tamanho_y; return $reduzido; //envia o resultado do processo } $imagem[1] = reduz_imagem($_GET['file'], $_GET['x'], $_GET['y'], 'jpg'); //chama a função reduz_imagem() if($_GET['x']>150) { //verifica se sera uma imagem ou thumb, menor que 150 trhumb, maior imagem com logo $logo = imagecreatefromPNG("../../data/albuns/data/logo.png"); imagecolortransparent ($logo, imagecolorallocate($logo, 255, 255, 255)); imagecopymerge($imagem[1][1],$logo, ($a=$imagem[1][3]-imagesx($logo)), ($b=$imagem[1] [4]-imagesy($logo)),0,0, (imagesx($logo)*$imagem[1][3]/100),(imagesy($logo)*$imagem[1][4]/100),100); } imagejpeg($imagem[1][1],null, 100); // envia imagem para o browser imagedestroy($imagem[1][1]); // apaga da memoria ?> preciso melhorar a qualidade da imagem de saida aguardo retorno desde já grato!!!!