Foros del Web » Programando para Internet » PHP »

Librería GD - Firma

Estas en el tema de Librería GD - Firma en el foro de PHP en Foros del Web. Buenas tardes, Tengo un script en php el cual se encarga de crear una firma dinámica en función de los valores que recibe mediante un ...
  #1 (permalink)  
Antiguo 20/12/2010, 11:05
Avatar de ivangd  
Fecha de Ingreso: febrero-2010
Mensajes: 28
Antigüedad: 14 años, 9 meses
Puntos: 0
Librería GD - Firma

Buenas tardes,

Tengo un script en php el cual se encarga de crear una firma dinámica en función de los valores que recibe mediante un formulario.

La firma se genera correctamente, las imágenes salen en función de la opciones que ha marcado el usuario, el problema le tengo a la hora de dar salida a ese formato como un png, para que luego los usuarios puedan guardar ese conjunto de imágenes como una imagen y así usarlo como firma.

He concatenado todo el código generado en una variable y funciona correctamente, pues si hago un echo $firma visualizo correctamente la firma.

He probado con este script:

Código PHP:
<?php
header 
("Content-type: image/png");

$firma="CODIGO CONCATENADO";

$img_handle ImageCreate (830230) or die ("Cannot Create image");
$back_color ImageColorAllocate ($img_handle255255255);
$txt_color ImageColorAllocate ($img_handle2314343);
ImageString ($img_handle3155$firma);
ImagePng ($img_handle);
Estoy trabajando en modo local, tengo activada la librería GD pero no sale la imagen, de hecho sale un recuadro de "no encuentro imagen".

Es la primera vez que toco la librería GD, así que estoy algo perdido.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 22/12/2010, 09:05
 
Fecha de Ingreso: diciembre-2010
Ubicación: Rosario, Santa Fe
Mensajes: 326
Antigüedad: 13 años, 11 meses
Puntos: 13
Respuesta: Librería GD - Firma

Comenta la primera linea y fijate cual es la salida, si es un error nos pones cual es para poderte ayudar mejor, en caso de que sea una salida de bytes (vas a ver caracteres extraños) tu imagen se genera y el error debe ser de otra cosa, pero para descargar primero proba con eso.
  #3 (permalink)  
Antiguo 23/12/2010, 08:47
Avatar de ivangd  
Fecha de Ingreso: febrero-2010
Mensajes: 28
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Librería GD - Firma

Buenas de nuevo,

He probado dos cosas:

1):

Con el siguiente código:

Código PHP:
$mostrar=$firma;

$img_handle ImageCreate (830230) or die ("Cannot Create image"); 
$txt_color ImageColorAllocate ($img_handle2314343); 
ImageString ($img_handle155$mostrar,4); 
ImagePng ($img_handle); 
Resultado: �PNG  IHDR>�.��DPLTE�++���.IDATx���1 �Om ��5^V�0��IEND�B`�

2):

Activando el header:

Código PHP:

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

$mostrar=$firma;

$img_handle ImageCreate (830230) or die ("Cannot Create image"); 
$txt_color ImageColorAllocate ($img_handle2314343); 
ImageString ($img_handle155$mostrar,4); 
ImagePng ($img_handle); 
Resultado: Warning: Cannot modify header information - headers already sent by (output started at /usr/home/thevode.com/web/eagle/genfirmas/formu.php:7)

�PNG  IHDR>�.��DPLTE�++���.IDATx���1 �Om ��5^V�0��IEND�B`�
  #4 (permalink)  
Antiguo 23/12/2010, 09:04
 
Fecha de Ingreso: diciembre-2010
Ubicación: Rosario, Santa Fe
Mensajes: 326
Antigüedad: 13 años, 11 meses
Puntos: 13
Respuesta: Librería GD - Firma

Por lo visto el error no esta en el código sino antes del header, lo que te dice es que enviaste una salida antes del enviar las cabeceras, una corrección rápida es poner en la primera linea del script
Código PHP:
ob_start(); 
Lo cual hace que se utilice un buffer y envia todo junto, asi te evitas el problema de las cabeceras.
Probá con eso y nos contas que tal.

Etiquetas: firma
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:08.