Autor Tema: Imagen con textos predefinidos  (Leído 2763 veces)

Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Imagen con textos predefinidos
« en: 29 de Marzo de 2010, 23:52:38 pm »
Hola muy buenas.

Lo primero, agradecer de antemano toda la ayuda que me ofrezcáis, y más aún siendo para un novato como yo. Como no encontraba una sección así de novatos, publico aquí porque no tengo ni idea de esto jeje... Si eso me lo movéis, o editáis o lo que queráis.

Bueno, pues quiero hacer lo siguiente:

Quiero que en mi web haya una sección patatín patatán, en la que tú introduzcas una serie de datos, y estos se plasmen en una imagen. Ejemplo: http://www.logros360.com/creador_logros

Un Saludo y muchísimas gracias
« Última modificación: 02 de Abril de 2010, 15:29:26 pm por WildWolf360 »

Comunidad PHPeros

Imagen con textos predefinidos
« en: 29 de Marzo de 2010, 23:52:38 pm »

Desconectado Mixvice

  • PHPero Experto
  • *****
  • Mensajes: 687
  • Karma: 32
  • Sexo: Masculino
  • ¡Y Tu Papá Tambien!
    • Ver Perfil
    • Tuhabbo
Re:Imagen con textos predefinidos
« Respuesta #1 en: 30 de Marzo de 2010, 00:07:10 am »
Yo tube una duda parecida, me dijeron que es con librerias gd acá hay info:

http://www.phperos.net/foro/index.php/topic,5449.0.html

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Imagen con textos predefinidos
« Respuesta #2 en: 30 de Marzo de 2010, 03:29:39 am »
Exacto, te podés informar más de las librerías GD, y para el código en específico que necesitás, también te recomiendo que busqués el método POST.

Saludos.
- Moderador de PHP


Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #3 en: 30 de Marzo de 2010, 11:39:33 am »
Hola muy buenas. Muchísimas gracias a los dos por la información.

Lo que pasa es que no tengo ni puñetera idea, pero esque 0 de php. Lo máximo que he dao sobre esto es cuando modifico los SMF o los phpBB, pero nada más. No entiendo el php.

¿Qué tengo que hacer? ¿Descargar las librerías GD o algo así?

Esque para un newbie como yo creo que va a ser demasiado...

Aún así muchísimas gracias a los dos. Saludetes

EDITO:

He encontrado el siguiente código

Código: [Seleccionar]
<?php
 
header
("Content-type: image/gif");
 
$imagen imagecreate(300,100);
 
$bgcolor imagecolorallocate($imagen,230,230,230);
$negro imagecolorallocate($imagen,0,0,0);
 
imagesetpixel($imagen,30,30,$negro);
imageline($imagen,30,80,270,80,$negro);
 
imagegif($imagen);
 
imagedestroy($imagen);
 
?>

He encontrado esto http://pixelar.me/tutorial-libreria-gd-en-php/ , pero no entiendo nada... Si alguien me hecha un cable... Muchísimas gracias ;)
« Última modificación: 30 de Marzo de 2010, 12:58:27 pm por WildWolf360 »

Conectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re:Imagen con textos predefinidos
« Respuesta #4 en: 30 de Marzo de 2010, 14:28:32 pm »
Las librerias GD normalmente estan listas para usarse ya, solo tienes que llamar a sus funciones, prueba a hacer algo básico como generar una imagen en blanco, luego prueba a cambiarle el color de fondo y despues ya intenta meterle texto y alguna imagen a la imagen.
Por favor, leete las Normas


Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #5 en: 30 de Marzo de 2010, 15:44:17 pm »
Pues mirando por este foro, he encontrado un tutorial sobre las librerías. Un compañero ha posteado su código y lo entiendo todo a la perfección. Todo menos una cosa: ¿Qué es el GDTest.php? Ya que si lo intento en mi localhost, aparece el form y todo pero me da error (como si no encontrara el archivo).

Saludos y muchas gracis

Código: [Seleccionar]
<?
if(isset($_POST['ok'])){
$nick = $_POST['nick'];
$texto = $_POST['texto'];
$foro = $_POST['foro'];

$img = imagecreatefromgif("imagen.gif"); //Crea la imagen
$negro = imagecolorallocate($img,0,0,0); //Color Negro
$rojo = imagecolorallocate($img,255,0,0); //Color Rojo
imagestring($img,3,74,27,$nick,$negro); //Escribe Hola mundo en negro
imagestring($img,3,10,10,$texto,$rojo); //Escribe Rodrinete en rojo
imagestring($img,3,15,12,$foro,$negro);
imagegif($img); //Muestra el nuevo GIF
imagedestroy($img); //Destruye el nuevo gif y lo vuelve a pasar a como estaba antes
echo"<br><br><br><hr>$nick $texto $foro";

} else {
?>
<form method="POST" action="GDTest.php">
<b>Nick</b>:
<br><input type="text" name="nick">
<br><b>Texto</b>:
<br><input type="text" name="texto">
<br><b>Foro</b>:
<br><input type="text" name="foro"> <br>
<input type="submit" name="ok" value="OK!">
</form>

<?
}
?>

Conectado naveda

  • Administrador General
  • PHPero Master
  • *****
  • Mensajes: 2.282
  • Karma: 165
  • Sexo: Masculino
    • Ver Perfil
    • naveda.me
Re:Imagen con textos predefinidos
« Respuesta #6 en: 30 de Marzo de 2010, 16:23:42 pm »
Probablemente sea el nombre el archivo donde esta el codigo ese, crea un archivo y pega el codigo ese, despues guardalo con el nombre GDTest.php o entre las  " " pon <?=$_SERVER['PHP_SELF'];?> y llama al archivo como quieras ;)
Por favor, leete las Normas


Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Imagen con textos predefinidos
« Respuesta #7 en: 30 de Marzo de 2010, 17:19:05 pm »
O también podés quitarle el action al formulario, eso le indica que haga el POST en el mismo archivo que está contenido :P

Suerte.
- Moderador de PHP


Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #8 en: 30 de Marzo de 2010, 17:19:43 pm »
Ajá, muchas gracias. He conseguido hacerlo, pero en cuanto he añadido una ¿variable? nueva, me da error.

http://farmville.vacau.com/GDTest.php

¿Porqué si añado una variable no funciona pero en cambio como estaba antes sí?

Código: [Seleccionar]
<?
if(isset($_POST['ok'])){
$gamertag = $_POST['gamertag'];
$psn = $_POST['psn'];
$wii = $_POST['wii'];
$steam = $_POST['steam']

header("Content-type: image/gif");
$img = imagecreatefromgif("imagen.gif"); //Crea la imagen
$negro = imagecolorallocate($img,0,0,0); //Color Negro
imagestring($img,3,284,150,$gamertag,$negro); //Escribe Hola mundo en negro
imagestring($img,3,284,192,$psn,$negro);
imagestring($img,3,284,229,$wii,$negro);
imagestring($img,3,284,264,$steam,$negro);

imagegif($img); //Muestra el nuevo GIF
imagedestroy($img); //Destruye el nuevo gif y lo vuelve a pasar a como estaba antes
echo"<br><br><br><hr>$gamertag $psn $wii $steam";

} else {
?>
<form method="POST" action="GDTest.php">
<b>Gamertag</b>:
<br><input type="text" name="gamertag">
<br><b>PSN</b>:
<br><input type="text" name="psn">
<br><b>Wii</b>:
<br><input type="text" name="wii"> <br>
<br><b>Steam</b>:
<br><input type="text" name="steam"> <br>
<input type="submit" name="ok" value="OK!">
</form>

<?
}
?>

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Imagen con textos predefinidos
« Respuesta #9 en: 30 de Marzo de 2010, 17:21:50 pm »
¿Qué variable has añadido?
- Moderador de PHP


Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #10 en: 30 de Marzo de 2010, 17:24:05 pm »
¿Qué variable has añadido?

Perdón n ome he dado cuenta. He añadido $steam . Y la línea 8 es la de header(...

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Imagen con textos predefinidos
« Respuesta #11 en: 30 de Marzo de 2010, 17:37:15 pm »
¿Pero en dónde está el $steam?

Mejor pon todo el código así te puedo ayudar mejor ;)
- Moderador de PHP


Desconectado WildWolf360

  • PHPer@ Fijo
  • ***
  • Mensajes: 192
  • Karma: 8
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #12 en: 30 de Marzo de 2010, 17:44:28 pm »
<?
if(isset($_POST[&#39;ok&#39;])){
$gamertag $_POST[&#39;gamertag&#39;];
$psn $_POST[&#39;psn&#39;];
$wii $_POST[&#39;wii&#39;];
$steam $_POST[&#39;steam&#39;]

header("Content-type: image/gif");
$img imagecreatefromgif("imagen.gif"); //Crea la imagen
$negro imagecolorallocate($img,0,0,0); //Color Negro
imagestring($img,3,284,150,$gamertag,$negro); //Escribe Hola mundo en negro
imagestring($img,3,284,192,$psn,$negro);
imagestring($img,3,284,229,$wii,$negro);
imagestring($img,3,284,264,$steam,$negro);

imagegif($img); //Muestra el nuevo GIF
imagedestroy($img); //Destruye el nuevo gif y lo vuelve a pasar a como estaba antes
echo"<br><br><br><hr>$gamertag $psn $wii $steam";

} else {
?>
<form method="POST" action="GDTest.php">
<b>Gamertag</b>:
<br><input type="text" name="gamertag">
<br><b>PSN</b>:
<br><input type="text" name="psn">
<br><b>Wii</b>:
<br><input type="text" name="wii"> <br>
<br><b>Steam</b>:
<br><input type="text" name="steam"> <br>
<input type="submit" name="ok" value="OK!">
</form>

<?
}
?>


Y una cosita: La imagen en gif queda de muy mala calidad, así que para ponerla en PNG debería cambiar lo siguiente?:

header("Content-type: image/gif"); (gif por png)

$img = imagecreatefromgif("imagen.gif"); //Crea la imagen (.gif por .png)

imagegif($img); //Muestra el nuevo GIF (imagegif por imagepng)


Muchísimas gracias :)

Y el error está aquí: http://farmville.vacau.com/GDTest.php
« Última modificación: 30 de Marzo de 2010, 18:01:26 pm por WildWolf360 »

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #13 en: 30 de Marzo de 2010, 19:14:41 pm »
Te has olvidado un ; tras el post de $steam ;)

Desconectado Rodrinete

  • PHPer@ Fijo
  • ***
  • Mensajes: 222
  • Karma: 6
    • Ver Perfil
Re:Imagen con textos predefinidos
« Respuesta #14 en: 30 de Marzo de 2010, 19:34:28 pm »
Y otra cosa.


...
echo
"<br><br><br><hr>$gamertag $psn $wii $steam";
...


NUNCA LO PONGAS SI PUSISTE ANTES UN HEADER("Content-type: image/loquesea") PORQUE SE TRATARÁ A LA PÁGINA COMO UNA IMAGEN, y echo"<br><br><br><hr>$gamertag $psn $wii $steam"; ES TEXTO.

Así que o quítalo o incluye la imagen en otra página.


echo "<img src=\"miarchivo.php\">";
echo
"<br><br><br><hr>$gamertag $psn $wii $steam";