Wilker 3 Denunciar post Postado Março 10, 2006 e ae galera, tipo, eh o seguinte, alguem ai conhece alguma biblioteca grafica pra PHP q faca um resize mais legal q o GD? pq o resize do GD (imagecopyresampled) dexa a imagem toca distorcida (mesmo qdo eh pra reduzir...)eu queria saber c alguem conhece uma biblioteca que consiga reduzir imagem com uma qualidade de Photoshop e etc :Palguem ai conhece alguma? Compartilhar este post Link para o post Compartilhar em outros sites
Baldão 0 Denunciar post Postado Março 10, 2006 Também depende de como você tá fazendo pra redimensionar a imagem. Eu tenho uma galeria na qual usei o GD, o código pra redimensionar foi esse aqui: <?php//Recupera as dimensões originais da imagemlist($largura, $altura) = getimagesize($imagem);//Verifica alguma dimensão ultrapassa 480px//Você pode especificar a dimensão que quiserif ($largura > 480 or $altura > 480) { $img = ImageCreateFromJPEG($nome_final); //Redimensiona a imagem seguindo a proporção original $scale = min((480/$largura), (480/$altura)); $new_largura = floor($scale*$largura); $new_altura = floor($scale*$altura); $tmp = imagecreatetruecolor($new_largura, $new_altura); ImageCopyResampled($tmp, $img, 0, 0, 0, 0, $new_largura, $new_altura, $largura, $altura); //Salva a imagem com qualidade 90 imageJpeg($tmp, "pasta/para/a/" . $imagem, 90); //Libera a memória utilizada pela imagem ImageDestroy($img); ImageDestroy($tmp);}?> Esse Script funciona bem, mas se você quiser outra biblioteca, procure por Image Magik, é muito boa. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Moura 0 Denunciar post Postado Março 10, 2006 ...resize do GD (imagecopyresampled) dexa a imagem toca distorcida (mesmo qdo eh pra reduzir...)E ai beleza, olha só se você utilizar proporções corretas pra redimensionar a imagem dificilmente ela irá ficar distorcida... Pra fazer o resize existe a função ImageCopyResized.. Acho funciona melhor pra isso...Da uma olhada neste link, é bem interessante:http://www.phpbrasil.com/articles/article.php/id/204 Compartilhar este post Link para o post Compartilhar em outros sites
Wilker 3 Denunciar post Postado Março 12, 2006 n eh problema de distorcer a imagem exatamente... o problema eh q o resample nao fica bom mesmo... fica mtos quadrados, compara com um resample do photoshop, no photoshop ele tipo "suavisa" o resize, deixando uma qualidade de imagem mto melhor, foi falando disso q eu me referi :)eu vo da uma olhada no Image Magik, vlw ae Compartilhar este post Link para o post Compartilhar em outros sites
wilson 0 Denunciar post Postado Março 23, 2006 Alguem sabe me dizer como eu faço pra jogar isso no banco de dados?Eu estou testando cfe. abaixo e nao dá certo. Ele grava no banco, mas nao joga no diretórioSe alguem puder me ajudar, já faz dias q estou tentando fazer issoMeu código $erro=''; if(isset($_FILES['arquivo']) && $_FILES['arquivo']==""){ $erro.="Voce deve escolher uma foto do seu computador"; }else{ $imagem=$_FILES['arquivo']; } if($imagem){ $dir="fotos2"; if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $imagem["type"])){ $erro.= "Arquivo em formato inválido só e´aceito jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }else{ preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $imagem['name'], $exten); $new_imagem="fotos2/".md5(uniqid(time())).".".$exten[1]; //Recupera as dimensões originais da imagem list($largura, $altura) = getimagesize($new_imagem); //Verifica alguma dimensão ultrapassa 480px //Você pode especificar a dimensão que quiser if ($largura > 480 or $altura > 480) { $img = ImageCreateFromJPEG($nome_final); //Redimensiona a imagem seguindo a proporção original $scale = min((480/$largura), (480/$altura)); $new_largura = floor($scale*$largura); $new_altura = floor($scale*$altura); $tmp = imagecreatetruecolor($new_largura, $new_altura); ImageCopyResampled($tmp, $img, 0, 0, 0, 0, $new_largura, $new_altura, $largura, $altura); //Salva a imagem com qualidade 90 imageJpeg($tmp, "fotos2/" . $imagem, 90); //Libera a memória utilizada pela imagem ImageDestroy($img); ImageDestroy($tmp); } } if($erro!=""){ echo $erro; exit; }else{ $sql = mysql_query("INSERT INTO tb_fotos(categ_foto,foto,legenda) VALUES ('$categ_produto1','".$new_imagem."','$legenda')"); $fil = move_uploaded_file($imagem["tmp_name"],$new_imagem); if($fil==true){ echo"Enviado com sucesso"; }else{ echo"Erro ao enviar a imagem"; } } } }/*fecha acao= cadastrar*/ Também depende de como você tá fazendo pra redimensionar a imagem. Eu tenho uma galeria na qual usei o GD, o código pra redimensionar foi esse aqui: <?php//Recupera as dimensões originais da imagemlist($largura, $altura) = getimagesize($imagem);//Verifica alguma dimensão ultrapassa 480px//Você pode especificar a dimensão que quiserif ($largura > 480 or $altura > 480) { $img = ImageCreateFromJPEG($nome_final); //Redimensiona a imagem seguindo a proporção original $scale = min((480/$largura), (480/$altura)); $new_largura = floor($scale*$largura); $new_altura = floor($scale*$altura); $tmp = imagecreatetruecolor($new_largura, $new_altura); ImageCopyResampled($tmp, $img, 0, 0, 0, 0, $new_largura, $new_altura, $largura, $altura); //Salva a imagem com qualidade 90 imageJpeg($tmp, "pasta/para/a/" . $imagem, 90); //Libera a memória utilizada pela imagem ImageDestroy($img); ImageDestroy($tmp);}?>Esse Script funciona bem, mas se você quiser outra biblioteca, procure por Image Magik, é muito boa. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites