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

Pegar imagem do BD e inserir texto - imagecreatefrompng()


marcellokera

Pergunta

Pessoal,

Sou novo com php e estou precisando de uma ajuda. preciso fazer uma imagem com um texto, o php tem a função imagecreatefrompng mas até agora não consegui fazer funcionar. já adicionei a imagem no projeto e referencio imagecreatefrompng(imagem.png), mas não funciona. o ideal era pegar essa imagem do BD (blob), atualmente eu imprimo essa imagem em uma DIV e colocou o texto em outra DIV, mas na impressão eu perco a configuração. Por isso a ideia de utilizar a biblioteca GD para gerar uma imagem e não perder o posicionamento do texto.

Abaixo está o código que fiz, e o resultado...

 

imagem.php


<?php

function LoadPNG($imgname) 
{
    $im = @imagecreatefrompng($imgname); /* Attempt to open */
    if (!$im) { /* See if it failed */
        $im  = imagecreatetruecolor(150, 30); /* Create a blank image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}

header('Content-Type: image/png');
$img = LoadPNG("imagem.png");


$texto = $_GET["texto"];

if ($texto=="") //Se a variavel estiver vazia preencha com um texto qualquer
{$texto="TEXTO QUE VAI APARECER NA IMAGEM";}
 

$color = ImageColorAllocate ($img, 100, 100, 100);

$ip = $_SERVER['REMOTE_ADDR'];

imagestring ($img, 331, 200, 300,  $texto."   Seu IP: $ip", $color); 

imagepng($img);

imagedestroy ($img); 


?> 

 

index.php

<body>

<center><img src=imagem.php style='background:white' width="800" height="600"></center>


</body>

 

 

Resultado:

 

PNG IHDRApWIDATh0DCZGW<6q7 WHBz$!=+a./DZGKy'D~0][9?z٫2s0x!!?"34SX,$'s*E=G^l#O9wieW>xYhs6S WTe E!3k89cC&g1'Glrf1-nssYyX0[R6/JTx|̻ĵNS+yDhFaV<ƏH==IH$G# 鑄HBz$!=IH$G# 鑄HBz/&+_IENDB`

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

1 resposta a esta questão

Posts Recomendados

  • 0

Eu tenho um problema parecido. No site do PHP, tem o exemplo abaixo:

<?php
$caminho=__DIR__;
$im = imagecreatefrompng($caminho."/doc20642841.png");
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>

Funciona 100% com o Internet Explorer, mas falha a renderização do documento png em quaisquer outros navegadores.

 

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...