Foros del Web » Programando para Internet » PHP »

Mostrar Imagen con GD

Estas en el tema de Mostrar Imagen con GD en el foro de PHP en Foros del Web. Hola, yo tengo exactamente el mismo problema que tu.. con la misma estructura, ya he intentado mil cosas y nada que funciona.. de verdad no ...
  #1 (permalink)  
Antiguo 23/11/2008, 17:33
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Mostrar Imagen con GD

Hola, yo tengo exactamente el mismo problema que tu.. con la misma estructura, ya he intentado mil cosas y nada que funciona.. de verdad no se cual puede ser el error.
Llamo a mi "carnet.php" desde un <img src="carnet.php">
y en carnet.php solo hay funciones de GD,
el archivo termina asi
header('Content-Type: image/jpeg');
imagejpeg($im);
imagedestroy($im);
he probado y prbado y nada que sale la imagen.
Por favor si me pueden ayudar con esto.. muchas GRacias.
  #2 (permalink)  
Antiguo 24/11/2008, 00:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no consigo mostrar una imagen con GD

hola, para probar si realmente funciona el script... usa su URL directamente en el navegador, o bien.... activa los mensajes de error, todos...

por recomendación, si el script contiene tan solo PHP es mejor no cerrar el ultimo ?> y claro, no dejar espacios ni caracteres extra al inicio del script... solo debe ir <?php ahí

script.php
Código PHP:
<?php

// rutinas...
// ...



// EOF

espero sirva, suerte!


PDTA:

aphys06, como es tu script completo ?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/11/2008, 01:43
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: no consigo mostrar una imagen con GD

Código:
<img src="carnet.php?ced=<? echo $ced; ?>&nac=<? echo $nac; ?>"/>
Código:
<?php
	include("funciones.php");
	//include("barcode.php");
	$ced=$_GET['ced'];
	$nac=$_GET['nac'];
	buscar_datos_et($ced,$nac,&$nom11,&$nom12,&$ap11,&$ap12,&$num_carnet,&$cod_val,&$carrera1,&$cod_verif);
	echo $num_carnet." ".$cod_val." ".$carrera." ".$cod_verif;
	$nom1=elimina_acentos($nom11);
	$nom2=elimina_acentos($nom12);
	$ap1=elimina_acentos($ap11);
	$ap2=elimina_acentos($ap12);
	$carr=elimina_acentos($carrera1);
//---------------------------------------------------------------------------------------------------	
	$nombre=$nom1." ".$nom2;
	$apellido=$ap1." ".$ap2;	
	$cedula=$nac."0".$ced;
	$carnum="Carnet # ".$num_carnet;
	//$carr=strtoupper($carrera);

//---------------------------------------------------------------------------------------------------	
	$im = @imagecreatefromjpeg('fondo1.JPEG') or die("Cannot Initialize new GD image stream"); 	//Creación del Fondo
//---------------------------------------------------------------------------------------------------	
	$logo = @imagecreatefrompng('logo_unet.png') or die("Cannot Initialize new GD image stream");									//Creación logo UNET
//---------------------------------------------------------------------------------------------------
	$font_file = 'ARIAL.TTF';														//Fuentes
	$font_file2= 'LSANSI.TTF';
//---------------------------------------------------------------------------------------------------
	$black = imagecolorallocate($im, 0x00, 0x00, 0x00);								//Colores
	$white = imagecolorallocate($im, 255, 255, 255);
//---------------------------------------------------------------------------------------------------
	$nombre_arch="uploads/".$nac."0".$ced.".PNG";
	$percent=2.5;
	list($width, $height) = getimagesize($nombre_arch);
	$newwidth = $width * $percent;
	$newheight = $height * $percent;												//Resize de la foto
	$thumb = imagecreatetruecolor(194, 195);
	$source = imagecreatefrompng($nombre_arch);
	imagecopyresized($thumb, $source, 0, 0, 30, 40, $newwidth, $newheight, $width, $height);
	$thumb2=imagecreatetruecolor(200, 201);
	imagecopyresized($thumb2,$thumb,0,0,0,0,194,195,194,195);
//---------------------------------------------------------------------------------------------------
	//$num_bar_code=$ced.$num_carnet;
	//$bar = Barcode39 ($num_bar_code, 257, 50, 100, "JPEG", 0);						//Creación del código de barras
	//$bar2=imagerotate($bar,90,0);
//---------------------------------------------------------------------------------------------------
	$barra_inferior=imagecreate(677,55);											//Creación barra inferior
	imagecolorallocate($barra_inferior,0,0,200);
//---------------------------------------------------------------------------------------------------
    if(!$im)
    {
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        imagestring($im, 1, 5, 5, 'Error loading 1' . $imgname, $tc);
    }
																					//Validaciones de creación de imagenes
	if(!$thumb2)
    {
        $thumb2  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($thumb2, 255, 255, 255);
        $tc  = imagecolorallocate($thumb2, 0, 0, 0);

        imagefilledrectangle($thumb2, 0, 0, 150, 30, $bgc);
        imagestring($thumb2, 1, 5, 5, 'Error loading 2' . $imgname, $tc);
    }
//---------------------------------------------------------------------------------------------------
	
	imagefttext($im,28,90,585,340,$white,$font_file2,'Estudiante 2008');
	imagefttext($im,20,0,245,167,$black,$font_file,$cod_verif);
	imagefttext($im,20,0,245,206,$black,$font_file,$nombre);
	imagefttext($im,20,0,245,245,$black,$font_file,$apellido);
	imagefttext($im,20,0,245,284,$black,$font_file,$cedula);
	imagefttext($im,20,0,245,323,$black,$font_file,$carnum);
	imagecopymerge($im, $logo, 26, 20, 0, 0, 100, 100, 100);
	imagecopymerge($im, $thumb2, 26, 140, 0, 0, 200, 200, 100);
	//imagecopymerge($im, $bar2, 600, 75, 0, 0, 50, 257, 100);
	imagecopymerge($im, $barra_inferior, 0, 367, 0, 0, 677, 55, 100);
	imagefttext($im,24,0,25,415,$white,$font_file2,$carr);
	header("file type=mime/jpg");
	header("Content-Type: image/jpeg");
	imagejpeg($im);
	imagedestroy($im);
?>
  #4 (permalink)  
Antiguo 24/11/2008, 01:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no consigo mostrar una imagen con GD

Cita:
Llamo a mi "carnet.php" desde un <img src="carnet.php">
y en carnet.php solo hay funciones de GD,
solo dos cosas...

quita el echo (eso obviamente corrompe la salida, que debe ser binaria) no crees??

luego, quita este header("file type=mime/jpg"); digo, ¿para que sirve?


suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 24/11/2008, 02:04
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: no consigo mostrar una imagen con GD

pero si quito los echo, cómo hago para recibir los datos que envio ahi?
  #6 (permalink)  
Antiguo 24/11/2008, 02:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no consigo mostrar una imagen con GD

haber haber, ese es un problema conceptual...

si es una imagen lo que estas creando, el echo escribe texto... ese es un detalle


dime, porque crees que necesitas el echo para recibir los datos ???

cuales datos ???

osea, los sigues recibiendo igual ... no debes cambiar nada, el echo según tu ... ¿que crees que hace en tu código??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 24/11/2008, 13:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Mostrar Imagen con GD

No entiendo a qué te refieres.. el asunto es que si no paso esos parámetros al .php donde genero la imagen, no puedo obtener los datos que necesito para los textos que voy a generar sobre mi imagen de fondo.

Por cierto, agradezco mucho tu ayuda.
  #8 (permalink)  
Antiguo 24/11/2008, 14:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar Imagen con GD

solo una pregunta ...

que objetivo tiene el echo en tu script ??? (el echo corrompe tu imagen)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 24/11/2008, 14:36
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Mostrar Imagen con GD

Código:
case 14:
		{
			$ced=$_REQUEST['ced'];
			$nac=$_REQUEST['nac'];
			$tipo=$_REQUEST['tipo'];
			if($tipo=="ET")
			{ ?>
				<img src="carnet.php?ced=<? echo $ced; ?>&nac=<? echo $nac; ?>"/>
			<?
			}
		}
ese es el código completo, de donde hago el llamado a carnet.php. Los datos que recibo con el $_REQUEST son altamente necesarios para poder generar la imagen con GD
  #10 (permalink)  
Antiguo 24/11/2008, 14:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar Imagen con GD



estamos hablando del script de GD, me refiero a esta linea... (todo el tiempo me refería a ese script, no al otro)

carnet.php
Código:
	echo $num_carnet." ".$cod_val." ".$carrera." ".$cod_verif;
que hace ahí, sabías que esta linea corrompe tu imagen ???

esa linea es altamente necesaria ??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 24/11/2008, 14:50
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
:O no me habia percatado de eso.. voy a revisar y a probar de nuevo

ya lo eliminé, pero de igual forma no me sale la imagen.. :(

Última edición por GatorV; 25/11/2008 a las 10:27
  #12 (permalink)  
Antiguo 24/11/2008, 15:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar Imagen con GD

bien, ahora... intenta usar la URL generada del enlace directamente en el navegador ¿que sale ??

osea, la de la supuesta imagen...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 24/11/2008, 15:49
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Mostrar Imagen con GD

Código:
<link href="estilos_usu.css" rel="stylesheet" type="text/css" />
solo sale eso, al usar el URL que me da la imagen rota
  #14 (permalink)  
Antiguo 24/11/2008, 15:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar Imagen con GD

pues ahí esta el detalle ...

revisa tus includes, no debe haber alguna otra salida mas que la de la imagen...

asegúrate de eso, o bien... crees que ese <link/> se agrego solo ???

espero comprendas, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 24/11/2008, 20:28
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Mostrar Imagen con GD

Sabes que ya eliminé todo tipo de salida que pudiera haber ahi, sólo se carga el php donde están las funciones gd y aún no sale la foto
  #16 (permalink)  
Antiguo 24/11/2008, 20:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mostrar Imagen con GD

bien, esta raro... hagamos esto (bueno, tu)

copia tu script en otro lugar que puedas cargar desde el navegador, simula los parámetros como si los recibieras... bueno, ponlos manualmente

y ejecuta la URL desde tu navegador, ve comentando lo que no le sea útil... el punto, es comprobar que realmente no te de problemas...

para estar seguros, pon esta linea al principio

Código PHP:
error_reporting(E_ALL); 
haber que obtienes ahora, sigue depurando tu script... hasta que realmente funcione, y asegúrate que realmente no existe otra salida (por eso usa un solo script de prueba)

aah, se me olvidaba... quita los @ de las llamadas a las funciones que uses, para que te muestre todo lo que esta pasando...

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 24/11/2008, 20:36
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: Mostrar Imagen con GD

Como te dice Pateketrueke, llama directamente a la imagen por el navegador, es decir escribe en el navegador carnet.php?ced=un_numero_de_cedula, etc. y ve que es lo que te muestra el navegador.

Saludos.
  #18 (permalink)  
Antiguo 24/11/2008, 20:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Mostrar Imagen con GD

¿Y qué es lo que sale al poner la URL en el navegador? ¿Sigue saliendo ese <link ... />?.

EDITO: Hola GatorV y pateketrueke .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #19 (permalink)  
Antiguo 24/11/2008, 22:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Ya he intentado varias veces eso que me indican y sigo obteniendo los mismo resultados. Tengo en otro php una copia con datos escritos por mi, sin recibir variables y funciona a la perfección. Entonces de verdad no entiendo qué pueda estar pasando.

Por razones extrañas y maravillosas de esta vida y este universo, a las cuales no pretendo buscarles explicación, por fin mi script funcionó!! Agradezco muchisimo que se hayan tomado el tiempo para brindarme ayuda. Les estaré muy agradecido siempre, ya que de esto depende gran parte de mi tesis de grado De verdad agradezo y aprecio mucho su ayuda.

Tengo otra pregunta.. hay alguna forma de que pueda mandar a imprimir esa imagen haciendo click a un botón? A lo mejor ya es mucho pedir jeje, pero si me pueden ayudar con eso.. muchas Gracias.

Última edición por GatorV; 25/11/2008 a las 10:26
  #20 (permalink)  
Antiguo 25/11/2008, 05:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Mostrar Imagen con GD

Puedes tener una Hoja de Estilos (CSS) para impresión (media="print") en la que ocultas los demás elementos y solo dejas visible la imagen, y mandar a imprimir la ventana con window.print() (Javascript).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 00:07.