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

Escrevendo Texto Em Uma Imagem


Fvox

Pergunta

Olá.

Sou moderador do fórum invasao, e mexo um pouco com photoshop, e então criei userbars do fórum e uma para cada membro... e como o fórum é bem grandinho, é meio chato fazer uma por uma manualmente...

Como eu poderia fazer algo em php que escrevesse numa imagem o texto $nick member.

No caso eu teria que criar a variavel..

$nick = $_POST["nickname"];

Eu tenho a imagem pronta sem o texto, gostaria de escrever com a fonte Visitor BRK e com alguns efeitos..

Tem como fazer isso em PHP né? :unsure:

Link para o comentário
Compartilhar em outros sites

21 respostass a esta questão

Posts Recomendados

  • 0

Já utilizei uma vez isso para uns testes, funcionou:

$nick = $_POST["nickname"]; // Só não entendi de onde vai vir o POST... talvez seja melhor você pegar o SESSION do cara...
header ("Content-type: image/gif");//Eu usei uma imagem GIF, se a sua for JPEG, TTF...etc terá que mudar o header
$imagem = "imagem.gif"; //Aqui vai o nome da imagem
$im     = imagecreatefromgif ($imagem); //Aqui também terá que ser mudado caso você altere o tipo de arquivo...
$fonte  = getcwd()."/oldsone.ttf"; // Aqui vai o nome da fonte, no meu caso era oldsone
$cor = imagecolorallocate($im, 0, 0, 0);

// imagettftext(imagem, tamanho da fonte, angulo, posição x, posição y, cor, fonte, dado que será impresso)
imagettftext ($im, 12, 0, 190, 68, $cor, $fonte, "$nick");

imagegif($im);
imagedestroy($im);

Caso precise alterar o tipo de arquivo, basta olhar ai » http://www.w3schools.com/media/media_mimeref.asp o Mime Type correspondente

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo phpinfo(). ;)

Lá aparecem todas as extensões que foram carregadas na inicialização do PHP.

[]'s

Não achei este arquivo, achei o php.ini.. nele tem uma lista de extenções:

;Windows Extensions

;Note that MySQL and ODBC support is now built in, so no dll is needed for it.

;

;PHPExt

;extension=php_bz2.dll

;extension=php_cpdf.dll

;extension=php_crack.dll

;extension=php_curl.dll

;extension=php_db.dll

;extension=php_dba.dll

;extension=php_dbase.dll

;extension=php_dbx.dll

;extension=php_domxml.dll

;extension=php_exif.dll

;extension=php_fdf.dll

;extension=php_filepro.dll

;extension=php_gd2.dll

;extension=php_gettext.dll

;extension=php_hyperwave.dll

;extension=php_iconv.dll

;extension=php_ifx.dll

;extension=php_iisfunc.dll

;extension=php_imap.dll

;extension=php_interbase.dll

;extension=php_java.dll

;extension=php_ldap.dll

;extension=php_mbstring.dll

;extension=php_mcrypt.dll

;extension=php_mhash.dll

;extension=php_mime_magic.dll

;extension=php_ming.dll

;extension=php_mssql.dll

;extension=php_msql.dll

;extension=php_oci8.dll

;extension=php_openssl.dll

;extension=php_oracle.dll

;extension=php_pdf.dll

;extension=php_pgsql.dll

;extension=php_printer.dll

;extension=php_shmop.dll

;extension=php_snmp.dll

;extension=php_sockets.dll

;extension=php_sybase_ct.dll

;extension=php_w32api.dll

;extension=php_xmlrpc.dll

;extension=php_xslt.dll

;extension=php_yaz.dll

;extension=php_zip.dll

;/PHPExt

Ali tem o gd2.dll

Isto significa que está instalado?

:blink:

Aqui a imagem não aparece, aparece só o link do arquivo PHP

Link para o comentário
Compartilhar em outros sites

  • 0

Você está rodando em localhost (na sua máquina)? Pensei que não fosse... ali mostra as extensões disponíveis, para você ativar a GD basta tirar o comentário dela (ponte-e-vírgula), ou seja, passa ela de:

;extension=php_gd2.dll

para

extension=php_gd2.dll

Salve o arquivo e reinicie o servidor web...

O phpinfo() que o Beraldo falou é pra ser rodado num arquivo php, ele mostra tudo referente ao PHP instalado na máquina...a sintaxe é simples:

<?
phpinfo();
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz o que você mandou..

ficou assim:

...
;extension=php_domxml.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_hyperwave.dll
;extension=php_iconv.dll
... continua

e mesmo assim não deu certo

quando digito num .htm o nickname não é? (por isso usei o $_POST), aparece a seguinte mensagem:

http://127.0.0.1:8020/imagem.php

:(

Link para o comentário
Compartilhar em outros sites

  • 0

Você está usando exatamente o código abaixo?

$nick = $_POST["nickname"]; // Só não entendi de onde vai vir o POST... talvez seja melhor você pegar o SESSION do cara...
header ("Content-type: image/gif");//Eu usei uma imagem GIF, se a sua for JPEG, TTF...etc terá que mudar o header
$imagem = "imagem.gif"; //Aqui vai o nome da imagem
$im     = imagecreatefromgif ($imagem); //Aqui também terá que ser mudado caso você altere o tipo de arquivo...
$fonte  = getcwd()."/oldsone.ttf"; // Aqui vai o nome da fonte, no meu caso era oldsone
$cor = imagecolorallocate($im, 0, 0, 0);

// imagettftext(imagem, tamanho da fonte, angulo, posição x, posição y, cor, fonte, dado que será impresso)
imagettftext ($im, 12, 0, 190, 68, $cor, $fonte, "$nick");

imagegif($im);
imagedestroy($im);

Coisas que também podem dar esse erro é o nome da fonte e nome do arquivo não serem exatamente com o escrito no arquivo PHP.

Link para o comentário
Compartilhar em outros sites

  • 0

Tem os seguintes arquivos:

imagem.htm:

<html>

<head>
<meta http-equiv="Content-Language" content="pt-br">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Userbar generator</title>
</head>

<body>

<form method="POST" action="imagem.php">
  <p>Digite seu nickname:&nbsp;&nbsp; <input type="text" name="nickname" size="20"></p>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#FFFFFF" width="100" height="38" id="AutoNumber1">
  <tr>
    <td width="100" height="38">
    <input type="submit" value="Enviar" name="B1" style="float: left"></td>
</form>
  </tr>
</table>

</body>

</html>
imagem.php:
<?
$nick = $_POST["nickname"];
header ("Content-type: image/gif");
$imagem = "fundo.gif"; //Aqui vai o nome da imagem
$im     = imagecreatefromgif ($imagem); //Aqui também terá que ser mudado caso você altere o tipo de arquivo...
$fonte  = getcwd()."/visitor1.ttf.ttf"; // Aqui vai o nome da fonte, no meu caso era oldsone
$cor = imagecolorallocate($im, 0, 0, 0);

// imagettftext(imagem, tamanho da fonte, angulo, posição x, posição y, cor, fonte, dado que será impresso)
imagettftext ($im, 12, 0, 180, 10, $cor, $fonte, "$nick");

imagegif($im);
imagedestroy($im);
?>

Tem o fundo.gif que é uma userbar sem nada escrito...

e a visitor1.ttf que é a fonte que eu quero ;)

Link para o comentário
Compartilhar em outros sites

  • 0

realmente, só que isso eu já tinha arrumado após eu postar aqui.. verifiquei linha por linha do PHP e fui testar e não deu certo :blink:

Agora o arquivo está assim:

<?
$nick = $_POST["nickname"];
header ("Content-type: image/gif");
$imagem = "fundo.gif"; //Aqui vai o nome da imagem
$im     = imagecreatefromgif ($imagem); //Aqui também terá que ser mudado caso você altere o tipo de arquivo...
$fonte  = getcwd()."/visitor1.ttf"; // Aqui vai o nome da fonte, no meu caso era oldsone
$cor = imagecolorallocate($im, 0, 0, 0);

// imagettftext(imagem, tamanho da fonte, angulo, posição x, posição y, cor, fonte, dado que será impresso)
imagettftext ($im, 12, 0, 180, 10, $cor, $fonte, "$nick");

imagegif($im);
imagedestroy($im);
?>

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,3k
    • Posts
      652,6k
×
×
  • Criar Novo...