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; }
Pergunta
marcellokera
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 marcellokeraLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.