[Php-avanzado] Problema con texto generado con GD

Juan Manuel P. tucu_21 en hotmail.com
Dom Nov 4 22:16:01 ART 2012




Buenas, queria saber si alguien puede llegar a ayudarme a entender el porque el codigo que voy a adjuntar no me genera las letras dentro de la imagen.
Lo pruebo en mi localhost y funciona perfectamente, lo subo a un hosting y las letras no aparecen. Reviso la configuracion con phpinfo de mi localhost y del hosting y son casi identicas (tambien las adjunto).

Desde ya muchas Gracias.

Archivo php para generar un Captcha

<?php
    session_start();
    function CreateLines($img,$w,$h,$c,$y) 
    {
        //Creo el Largo de la Linea
        $Largo=rand(50,130);
        //Creo la Posicion inicial X
        do 
        {
            $PosXi=rand(0,50);
        }while(($PosXi+$Largo)>150);
        //Creo la Posicion inicial Y
        $PosYi=rand($y,$y+14);
        //Creo la Posicion Final Y
        do 
        {
            $PosYf=rand(1,49);
        }while($PosYi!==$PosYf);
        //Creo el ancho de la linea 
        imagesetthickness($img, 1);
        //Creo las lineas en la imagen
        imageline($img, $PosXi, $PosYi, $PosXi+$Largo, $PosYf, $c);
    }
    
    function GenerateCaptcha($letra) 
    {
        $width=150;
        $height=50;    
        $Fondo=imagecreate($width, $height);
        $Color = imagecolorallocate($Fondo,255,50,0);
        $colorFondo=imagecolorallocate($Fondo, 40, 170, 0);
        $ColorLinea = imagecolorallocate($Fondo,255,50,0);
        imagefill($Fondo, 0, 0, $colorFondo);
        $CantLines=0;
        $PosY=3;
        do 
        {
            CreateLines($Fondo,$width,$height,$ColorLinea,$PosY);
            $CantLines++;
            $PosY=$PosY+15;
        }while($CantLines<3);
        // Reemplace la ruta por la de su propia fuente
        $fuente = "Font/DACTYLOG.TTF";
        // Añadir el texto
        $CantLet=0;
        $LetInit=5;
        do 
        {
            $angulo=rand(0,10);
        
            imagefttext($Fondo, rand(20,25), $angulo, rand($LetInit,$LetInit+10), rand(25,45), $Color, $fuente, substr($letra, $CantLet,1));
            //imagettftext($Fondo, rand(20,25), $angulo, rand($LetInit,$LetInit+10), rand(25,45), $Color, $fuente, substr($letra, $CantLet,1));
            $CantLet++;
            $LetInit=$LetInit+27;
        }while($CantLet < strlen($letra));
        // Imprimir la imagen al navegador
        header("Content-type: image/png");
        imagepng($Fondo); 
    }
  //En el php que lo llama a este se genera un string de 5 caracteres al azar entre letras y numeros que se guarda en $_SESSION["captcha"] , probe haciendo un print_r($_SESSION) y la cadena se genera perfectamente.
    GenerateCaptcha($_SESSION["captcha"]);
?>

La direccion de la fuente con el archivo existe, probe con la fuente arial y con esta otra que hace referencia $fuente


Phpinfo de libreria GD en localhost:
gd

GD Support enabled 
GD Version 2.0 
FreeType Support enabled 
FreeType Linkage with freetype 
FreeType Version 2.4.4 
T1Lib Support enabled 
GIF Read Support enabled 
GIF Create Support enabled 
JPEG Support enabled 
libJPEG Version 6b 
PNG Support enabled 
libPNG Version 1.2.46 
WBMP Support enabled 

Phpinfo de libreria GD en el hosting:
gd

GD Support enabled 
GD Version bundled (2.0.34 compatible) 
FreeType Support enabled 
FreeType Linkage with freetype 
FreeType Version 2.4.2 
GIF Read Support enabled 
GIF Create Support enabled 
JPEG Support enabled 
libJPEG Version 6b 
PNG Support enabled 
libPNG Version 1.2.44 
WBMP Support enabled 
XBM Support enabled 

Como pueden ver incluso la version de gd es superior en el hosting, y de acuerdo a php.net que recomienda tener una gd superior a la version 2.0.28

Alguien puede ver o se le ocurre en que puede estar fallando o si necesitan alguna otra informacion para ayudarme solo me dicen y la subo.

Muchas Gracias.

In his heart, in his eyes
In his soul, there’s no sign of thunder
Screams, can you hear the screaming
When another restless soul must die

 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20121104/1085d3f1/attachment.html>


Más información sobre la lista de distribución Php-avanzado