Foros del Web » Programando para Internet » PHP »

GD: crear-mostrar-eliminar

Estas en el tema de GD: crear-mostrar-eliminar en el foro de PHP en Foros del Web. Hola Hace tiempo que uso la librería GD de PHP para las imágenes pero me quedé pegado en una cosa... Resulta que me gustaría que ...
  #1 (permalink)  
Antiguo 13/02/2011, 21:59
 
Fecha de Ingreso: julio-2006
Mensajes: 50
Antigüedad: 17 años, 9 meses
Puntos: 0
GD: crear-mostrar-eliminar

Hola

Hace tiempo que uso la librería GD de PHP para las imágenes pero me quedé pegado en una cosa...

Resulta que me gustaría que al acceder a una página, se creara una imágen y se mostrara, pero que NO quedara guardada, y que al mostrar la imágen también se viera texto, por lo tanto, creo que

Código PHP:
header("Content-Type: image/png"); 
no puede usarse.


Lo que se me ocurrió es: crear - guardar - mostrar - eliminar
Código PHP:
<?php

//crear
$im imagecreate(3030); 
$numero=rand(1,100);
$negro=imagecolorallocate($im,0,0,0);
$rojo=imagecolorallocate($im,255,0,0);
imagefill($im,0,0,$negro);
imagestring($im,2,5,5,$numero,$rojo);

//grabar
imagepng($im,"imagen.png");

//mostrar
echo "<img src=imagen.png> $numero";

//borrar
unlink("imagen.png");

imagedestroy($im);
?>
Pero si hago eso no se muestra la imagen. Entonces mi pregunta es...
¿Está bien la manera en que estoy enfocando el problema y el problema se puede solucionar así? O bien, es necesario enfocarlo de otra manera.

Muchas gracias por la paciencia.
  #2 (permalink)  
Antiguo 13/02/2011, 22:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: GD: crear-mostrar-eliminar

Eso no es posible, porque recuerda que PHP se ejecuta en el servidor, por lo tanto al tu imprimir tu tag img, este se va a ver en el browser al terminar la ejecución, por lo cual ya la imagen ya estara borrada y no se podra ver en el cliente.

Lo mejor es que uses header() y que llames a la imagen desde un script diferente desde el tag img y ahí construyas en memoria la imagen.

Saludos.
  #3 (permalink)  
Antiguo 14/02/2011, 11:43
 
Fecha de Ingreso: julio-2006
Mensajes: 50
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: GD: crear-mostrar-eliminar

Verdad, no había pensado en lo que significa que se ejecute en el servidor.

Gracias! No sabía que se podía hacer eso, probé y me dio lo que quería.

Acá dejo la solución a mi pregunta

slike2.php: La página que muestra la imágen
Código PHP:
<?php
$numero
=rand(1,100);

//llamar al otro
echo "<img src=slike.php?numero=".$numero."> $numero";
?>
slike.php: La página que genera la imágen
Código PHP:
<?php

//header
header("Content-Type: image/png");

//dibujar algo
$im imagecreate(3030); 
$numero=$_GET["numero"];            //enviado por slike2
$negro=imagecolorallocate($im,0,0,0);
$rojo=imagecolorallocate($im,255,0,0);
imagefill($im,0,0,$negro);
imagestring($im,2,5,5,$numero,$rojo);

//Mostrar
imagepng($im);

imagedestroy($im);
?>
Lo hice con un número que pasa por GET porque la idea es que la imagen se genere con datos.

De nuevo gracias.

Etiquetas: gd, imagenes, imagenpng
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:25.