Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) biblioteca GD para png transparente


Fabricio Barili

Pergunta

Bom dia pessoal!

Seguinte, to com um dilema.

Estava procurando pela net uma biblioteca que fizesse redimensionamento de imagens!

Tudo bem, encontrei várias mas uma que gostei é a m2brimagem ela faz quase tudo o que eu necessito, porem ao redimensionar uma imagem ela coloca um fundo nela.

Esse fundo tem como escolher a cor, o problema é que eu não quero fundo, necessito de imagem com fundo transparente

alguém saberia como implementar esta classe ou de outra que faça a mesma coisa?

Segue abaixo o link do site da biblioteca

http://www.daviferreira.com/blog/2007/09/0...imagem-php.html

Abraços...

Editado por Fabricio Barili
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Bom dia pessoal!

Seguinte, to com um dilema.

Estava procurando pela net uma biblioteca que fizesse redimensionamento de imagens!

Tudo bem, encontrei várias mas uma que gostei é a m2brimagem ela faz quase tudo o que eu necessito, porem ao redimensionar uma imagem ela coloca um fundo nela.

Esse fundo tem como escolher a cor, o problema é que eu não quero fundo, necessito de imagem com fundo transparente

alguém saberia como implementar esta classe ou de outra que faça a mesma coisa?

Segue abaixo o link do site da biblioteca

http://www.daviferreira.com/blog/2007/09/0...imagem-php.html

Abraços...

Amigo, tenta usar o seguinte código:

<?php
   function resize($img, $w, $h, $newfilename) {
//Checando GD
    if (!extension_loaded('gd') && !extension_loaded('gd2')) {
    trigger_error("GD não foi carregado", E_USER_WARNING);
    return false;
    }

//Pegando tamanho da imagem
    $imgInfo = getimagesize($img);
    switch ($imgInfo[2]) {
    case 1: $im = imagecreatefromgif($img); break;
    case 2: $im = imagecreatefromjpeg($img);  break;
    case 3: $im = imagecreatefrompng($img); break;
    default:  trigger_error('Formato não suportado!', E_USER_WARNING);  break;
    }
//Se a imagem e pequena não redimensiona
    if ($imgInfo[0] <= $w && $imgInfo[1] <= $h) {
    $nHeight = $imgInfo[1];
    $nWidth = $imgInfo[0];
    }else{
//Redimensione mas mantenha a proporção
    if ($w/$imgInfo[0] > $h/$imgInfo[1]) {
    $nWidth = $w;
    $nHeight = $imgInfo[1]*($w/$imgInfo[0]);
    }else{
    $nWidth = $imgInfo[0]*($h/$imgInfo[1]);
    $nHeight = $h;
    }
  
    }
    $nWidth = round($nWidth);
    $nHeight = round($nHeight);
    $newImg = imagecreatetruecolor($nWidth, $nHeight);
/* Checando se a imagem é PNG ou GIF, então seta como transparent*/  
    if(($imgInfo[2] == 1) OR ($imgInfo[2]==3)){
    imagealphablending($newImg, false);
    imagesavealpha($newImg,true);
    $transparent = imagecolorallocatealpha($newImg, 255, 255, 255, 127);
    imagefilledrectangle($newImg, 0, 0, $nWidth, $nHeight, $transparent);
    }
    imagecopyresampled($newImg, $im, 0, 0, 0, 0, $nWidth, $nHeight, $imgInfo[0], $imgInfo[1]);
//Gera o arquivo e renomeia com $newfilename
    switch ($imgInfo[2]) {
    case 1: imagegif($newImg,$newfilename); break;
    case 2: imagejpeg($newImg,$newfilename);  break;
    case 3: imagepng($newImg,$newfilename); break;
    default:  trigger_error('Falhou ao redimensionar a imagem!', E_USER_WARNING);  break;
    }
    return $newfilename;
    }
?>

PS: esse sistema não é meu peguei do Vandai e recomentei os codigos.

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Boooa cara..

funciono..

vlw aeee cabeça.... :ninja:

ok Fabricio, boa sorte meu caro! :)

ps: dica básica, costume pesquisar no google pelo termo da função, por exemplo: transparent png resize php (com isso você informa que quer artigos com essa especificação sem termos de ligação na palavra! :))

abraço e sucesso pra você.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...