Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/06/2011, 10:16
konvulsion
 
Fecha de Ingreso: abril-2011
Mensajes: 39
Antigüedad: 13 años
Puntos: 1
Respuesta: Código para meter texto en imagen

Puedo poner texto en imagen y guardarlo todo como imagen, pero hay algo que no me sale... Quiero que, en un campo de texto que he puesto para que cualquiera pueda poner su texto, asociarlo a la variable string del script GD... Dicho de otra manera: Quiero que cualquiera pueda insertar su texto en una imagen que sube cada uno (Lo de que cada uno suba su imagen en principio no me acarrea problema). Y también decir que tengo un form perfectamente creado con su principio y su final. También tengo todas las variables (excepto las del GD) asociadas a una base de datos (quizá una solución sea crear un campo string en DB, pero no creo). Entonces no se me ha ocurrido otra cosa que hacer esto:

Código PHP:
Ver original
  1. <?php
  2. // texto a convertir
  3. if( isset($_GET['string']) && !empty($_GET['string'])) $string = trim($_GET['string']);
  4. else $string = '<input type="text" name="titulo" value="Título" onfocus="if (this.value=='Título') this.value=''" onblur="if (this.value=='') this.value='Título'" size="20" onKeyUp="limita(this,100);" onKeyDown="limita(this,100);"></p>';
  5.  
  6. // tamaño de la imagen
  7. $im = imagecreate(500, 30);
  8.  
  9. // fondo blanco y texto azul
  10. $bg = imagecolorallocate($im, 0, 0, 0);
  11. $textcolor = imagecolorallocate($im, 255, 0, 0);
  12.  
  13. // escribimos el texto en la parte superior-izquierda
  14. imagestring($im, 5, 0, 0, $string, $textcolor);
  15.  
  16. // mostrar la imagen
  17. header("Content-type: image/png");
  18. imagepng($im);
  19. ?>

Me da error en la línea 4 (como no...), pero he probado hacerlo al revés (meterlo en un array que tengo más abajo sustituyendo el [titulo] por [$string] y tampoco ha funcionado. ¿Qué puedo hacer en este caso?

Última edición por konvulsion; 24/06/2011 a las 10:24 Razón: mejorar explicación