Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/02/2014, 05:15
Avatar de rodrypaladin
rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 1 mes
Puntos: 468
Respuesta: Problema con generación de imagenes GD

He cambiado:

Código PHP:
Ver original
  1. echo $datosAleatorio;

por

Código PHP:
Ver original
  1. return $datosAleatorio;

Y ahora si que muestra algo en la imagen, pero solo el primer caracter de la cadena

EDITO: he conseguido que genere toda la string en la imagen pero tuve que quitar el foreach y declarar una variable y asignarle uno a uno cada posición de la array, se a no es la mejor solución pero ha sido efectiva por el momento.

Estoy mirando mas funciones de GD, en cuanto tenga más dudas sobre alguna lo añadiré en este hilo

EDITO: sigo avanzando y he creado la siguiente imagen con algunas figuras también algo aleatorias

Ver ejemplo en vivo aqui

El código:

Código PHP:
Ver original
  1. <?php
  2. //function cadena() {
  3. $cadena = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  4. $cadena .= "abcdefghijklmnopqrstuvwxyz";
  5. $cadena .= "1234567890";
  6. $aleatoria = array();
  7. for($i=0;$i<6;$i++) {
  8. $aleatoria[] = $cadena[mt_rand(0,strlen($cadena))];
  9. str_shuffle($cadena); }
  10. //foreach($aleatoria as $datosAleatoria) {
  11. $codigo = $aleatoria[0] . $aleatoria[1] . $aleatoria[2] . $aleatoria[3] . $aleatoria[4] . $aleatoria[5];
  12. //}
  13.  
  14. $imagen = imagecreatetruecolor(130,30); // creamos imagen 130,30
  15. $blanco = imagecolorallocate($imagen,255,255,255); // creamos el color blanco
  16. $negro = imagecolorallocate($imagen,0,0,0); // creamos color negro
  17. $rosa = imagecolorallocate($imagen, 255, 105, 180); // creamos color rosa
  18. $verde = imagecolorallocate($imagen, 132, 135, 28); // creamos color verde
  19. imagefill($imagen, 0, 0, $blanco);//llenamos el fondo de blanco
  20. imagestring($imagen, 5, 35, 6, $codigo,$negro); // creamos string
  21. imagerectangle($imagen, rand(20,45), rand(17,27), rand(75,120), rand(5,17), $rosa); // creamos un rectangulo
  22. imagerectangle($imagen, rand(20,45), rand(17,27), rand(75,120), rand(5,17), $verde); // creamos un rectangulo
  23. header('Content-type: image/png');
  24. imagepng($imagen);
  25. imagedestroy($imagen);
  26.  
  27. ?>

Me he fijado que si tengo la imagen abierta con el navegador y abro otra pestaña y entro de nuevo, me aparece el mismo código de la ventana anterior, lo he probado desde el movil solamente. También he probado con otra persona desde otro pc y ahí no pasa.

Es algo que se debería resolver?
__________________
No te olvides de dar +1 a quien te echa un cable ;)

Última edición por rodrypaladin; 09/02/2014 a las 09:43