alh 1 Denunciar post Postado Fevereiro 13, 2016 Ola a todos.. Estou com um probleminha ao fazer upload de fotos no formato PNG, o fundo do png fica preto ao invés de transparente como no arquivo original apos redimensionar... Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
allex_carvalho 124 Denunciar post Postado Fevereiro 14, 2016 Mostre o código que gerencia o upload. Compartilhar este post Link para o post Compartilhar em outros sites
Visitante Denunciar post Postado Fevereiro 15, 2016 Calma, estou resolvendo o seu problema mentalmente... (Script que é bom nada) Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Fevereiro 15, 2016 Possivelmente ele esteja sendo renderizado em JPG. Tente renderizar a imagem modificada em PNG, ou adicione cor ao fundo (geralmente, se for uma biblioteca pronta como Intervention, existe esta opção). Compartilhar este post Link para o post Compartilhar em outros sites
alh 1 Denunciar post Postado Março 3, 2016 Olá.. segue o código que usei no Upload $dir = "./logo/"; //caminho imagens normais$temp = substr(md5(uniqid(time())), 0, 20);$nome = isset($_FILES['arquivo']['name']) ? $_FILES['arquivo']['name']:'';$tamanho = isset($_FILES['arquivo']['size']) ? $_FILES['arquivo']['size']:'';$tipo = isset($_FILES['arquivo']['type']) ? $_FILES['arquivo']['type']:'';$tmpname = isset($_FILES['arquivo']['tmp_name']) ? $_FILES['arquivo']['tmp_name']:'';$matriz[] = $nome;//$caminho = $dir.$temp.$nome;$tipo_arquivo = substr($nome,-3);$caminho = $dir.$temp.'.'.$tipo_arquivo;if($tamanho > 0 && strlen($nome) > 1) {$tiposPermitidos = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png');if (in_array($tipo, $tiposPermitidos)){// endereco completo e o caminho para onde vao as imagensif(move_uploaded_file($tmpname,$caminho)){// ****$ttt = list($largura2,$altura2,$tipo2)=getimagesize($caminho);$largura_original = $ttt[0];$altura_original = $ttt[1];//if ( $largura_original > 640 and $altura_original > 480) { // no redimensionar as menoresif ($tipo2 == 1) {$imagem_nova = imagecreatefromgif($caminho);}if ($tipo2 == 2) {$imagem_nova = imagecreatefromjpeg($caminho);}if ($tipo2 == 3) {$imagem_nova = imagecreatefrompng($caminho);}//$imagem_nova = imagecreatefromjpeg($caminho);// redimensiona grandes$larguramaximag = 200;$alturamaximag = 100;$reducaoLargurag = 100;$reducaoAlturag = 100;$reducaoFinalg = 100;////--------------------------------------------------------------------------if($largura_original <= $larguramaximag and $altura_original <= $alturamaximag) { // echo "(Sim reduzir a imagem)$largura_original X $altura_original"; $Thumbnail2 = imagecreatetruecolor($largura_original,$altura_original);imagecopyresampled($Thumbnail2, $imagem_nova, 0, 0, 0, 0, $largura_original, $altura_original, $largura2,$altura2);imagejpeg($Thumbnail2,$caminho); } else{ // echo "(Nao reduzir a imagem)$largura_original X $altura_original"; if ($largura_original > $larguramaximag or $altura_original > $alturamaximag) { //*** largura *** if ($largura_original > $larguramaximag){ $reducaoLargurag = $larguramaximag * 100 / $largura_original; //(vai resultar 20) } //*** altura *** if ($altura_original > $alturamaximag){ $reducaoAlturag = $alturamaximag * 100 /$altura_original;// (vai resultar 10) } //agora vamos ver qual a reducao final if ($reducaoLargurag < $reducaoAlturag) { $reducaofinalg = $reducaoLargurag; } else if ($reducaoAlturag < $reducaoLargurag) { $reducaofinalg = $reducaoAlturag; } else if ($reducaoAlturag == $reducaoLargurag) { //entao os valores sao iguais $reducaofinalg = $reducaoAlturag; //poderia ser reducaofinal = reducaolargura }}//agora gerar a imagem final reduzida if ($reducaofinalg < 100) { $imagemnova_largurag = $largura_original * $reducaofinalg/100; $imagemnova_alturag = $altura_original * $reducaofinalg/100;} else { $imagemnova_largurag = $largura_original; $imagemnova_alturag =$altura_original;}//echo "FINAL: $imagemnova_largurag - $imagemnova_alturag";$Thumbnail2 = imagecreatetruecolor($imagemnova_largurag,$imagemnova_alturag);imagecopyresampled($Thumbnail2, $imagem_nova, 0, 0, 0, 0, $imagemnova_largurag, $imagemnova_alturag, $largura2,$altura2);imagejpeg($Thumbnail2,$caminho);//-------------------------------------------------------------------------- } }} else { echo "<br><br><br> <div align='center'>Este tipo de Arquivo é valido! <br/> Tipos aceitos: jpg, jpeg, gif e png. </div>"; } } Alguem sabe o que pode estar acontecendo? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Março 3, 2016 http://forum.imasters.com.br/topic/546820-redimensionar-png-com-fundo-transparente/ Compartilhar este post Link para o post Compartilhar em outros sites