Foros del Web » Programando para Internet » PHP »

Convertir texto a imagen

Estas en el tema de Convertir texto a imagen en el foro de PHP en Foros del Web. Amigos del Foro: tengo el siguiente script que convierte texto (email) a una imagen todo esta bien hasta ahi, pero lo que no consigo es ...
  #1 (permalink)  
Antiguo 15/04/2006, 20:47
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
Pregunta Convertir texto a imagen

Amigos del Foro:

tengo el siguiente script que convierte texto (email) a una imagen
todo esta bien hasta ahi, pero lo que no consigo es meter los datos
de una consulta sql
me hechan una mano por favor?

email_src.php
Código PHP:
<?
/*
Programa PHP para encriptar correo electronico, copiar en el servidor PHP
*/


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

// get amounts and titles from session.
$text base64_decode($_GET['text']);

// calculate required width and height of image
$pic_width strlen($text)*6;
$pic_height 12;

// create image
$pic ImageCreate($pic_width+1,$pic_height+1);

// allocate colours
$white ImageColorAllocate($pic,255,255,255);
$grey  ImageColorAllocate($pic,200,200,200);
$lt_grey  ImageColorAllocate($pic,210,210,210);
$black ImageColorAllocate($pic,0,0,0);
$trans_temp ImageColorAllocate($pic,254,254,254);
$transparent ImageColorTransparent($pic,$trans_temp);

// using isset not !empty, as values could=0, therefore "empty"
if(isset($_GET['r']) && isset($_GET['g']) && isset($_GET['b']))
{
    
$user ImageColorAllocate($pic,intval($_GET['r']),intval($_GET['g']),intval($_GET['b']));
} else {
    
$user $lt_grey;
}

// transparent fill for background 
ImageFilledRectangle($pic,0,0,$pic_width,$pic_height,$trans_temp);

// draw text
ImageString($pic,2,0,0,$text,$user);

// output image
ImagePNG($pic);

// remove image from memory
ImageDestroy($pic);
?>
print_email_src.php

Código PHP:
<?

// encripta direccion de correo, puede ser usada con una variable: 
// ejemplo: base64_encode($mivariable);

//$string = base64_encode('[email protected]');
$string base64_encode('$datos-de-sql');

// colores de la imagen r= cantidad de rojo, g= cantidad de verde, 
// b= cantidad de azul, valor maximo 255
$email_encoded '<img src="rip_email_src.php?r=100&g=150&b=0&text='.$string.'">';

// escribe la imagen del correo electronico
echo $email_encoded;
?>
muchas gracias!
  #2 (permalink)  
Antiguo 16/04/2006, 13:41
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 3 meses
Puntos: 6
como que no consigues meter los datos de una consulta?

bueno yo no veo ninguan consulta, ni la impresion de una registro :-s

que es $datos-de-sql?? como has tratado de poner el dato ahi?
__________________
www.dataautos.com
  #3 (permalink)  
Antiguo 17/04/2006, 04:33
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Igual yo tampoco entendí. ¿Quieres meter las imágenes en una base de datos?

Si tu objetivo es poner en tu página imágenes en lugar de correos electrónicos, ¿por qué no consideras generar dinámicamente las imágenes al momento de servir el documento?
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #4 (permalink)  
Antiguo 17/04/2006, 07:09
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
Muchas gracias a todos por atender este post
lo que deseo es poner los datos obtenidos de una consulta mySQL:

Código PHP:
$resultPAGW mysql_query("SELECT * FROM tabla_email ORDER BY id DESC LIMIT $limiteInferior,$limitePag");

    while(
$rowPAGW mysql_fetch_array($resultPAGW))
    { 
print_email_src.php
Código PHP:
<?
//$string = base64_encode(' [aqui-los-datos-extraidos-del-sql] ');
$string base64_encode('$rowPAGW[e_mail]'); // $rowPAGW[e_mail]


$email_encoded '<img src="rip_email_src.php?r=100&g=150&b=0&text='.$string.'">';

// escribe la imagen del correo electronico
echo $email_encoded;
?>
  #5 (permalink)  
Antiguo 17/04/2006, 07:15
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Quizá sea por:

$string = base64_encode('$rowPAGW[e_mail]'); // $rowPAGW[e_mail]

podría ser que así jale:

$string = base64_encode($rowPAGW['e_mail']); // $rowPAGW[e_mail]
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #6 (permalink)  
Antiguo 17/04/2006, 07:51
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
hola uamistad he reemplazado la linea sugerida
pero la imagen sale con estos caracteres:

Z11sfdewr2uajwE5e3SDdf1dfDFdDFgfhg=

bueno por lo menos sale eso... antes en la imagen me salia la variable: $rowPAGW[e_mail]

gracias nuevamente
  #7 (permalink)  
Antiguo 17/04/2006, 07:53
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
error corregido... el problema era mio... haciendo experimento lo habia quitado base64_encode pero ya esta corrriendo bastante bien...

muchas gracia amigo.. por tu ayuda....
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 22:11.