Foros del Web » Programando para Internet » PHP »

Configuracion libreria GD

Estas en el tema de Configuracion libreria GD en el foro de PHP en Foros del Web. Hola gente... tengo un script que me redimensiona las imagenes guardadas en la base de datos.. el tema es que en mi servidor de prueba ...
  #1 (permalink)  
Antiguo 02/04/2011, 11:38
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 16 años
Puntos: 12
Configuracion libreria GD

Hola gente... tengo un script que me redimensiona las imagenes guardadas en la base de datos..

el tema es que en mi servidor de prueba funciona pero cuando lo subo al servidor no funca.

hice varias pruebas y estoy casi seguro que es la configuracion de la libreria.

esta es mi configuracion:

array(12) { ["GD Version"]=> string(27) "bundled (2.0.34 compatible)" ["FreeType Support"]=> bool(true) ["FreeType Linkage"]=> string(13) "with freetype" ["T1Lib Support"]=> bool(true) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(true) ["JPG Support"]=> bool(true) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XPM Support"]=> bool(false) ["XBM Support"]=> bool(true) ["JIS-mapped Japanese Font Support"]=> bool(false) }

esta es la del servidor:

array(12) { ["GD Version"]=> string(27) "bundled (2.0.28 compatible)" ["FreeType Support"]=> bool(true) ["FreeType Linkage"]=> string(13) "with freetype" ["T1Lib Support"]=> bool(false) ["GIF Read Support"]=> bool(true) ["GIF Create Support"]=> bool(true) ["JPG Support"]=> bool(true) ["PNG Support"]=> bool(true) ["WBMP Support"]=> bool(true) ["XPM Support"]=> bool(false) ["XBM Support"]=> bool(true) ["JIS-mapped Japanese Font Support"]=> bool(false) }



la unica diferencia que veo es que yo tengo "T1Lib Support" habilitado (true) y en el servidor no

Este parametro puede que este haciendo no funcionar el script ??? que hace ese parametro ??

gracias gente... abrazo
  #2 (permalink)  
Antiguo 02/04/2011, 13:36
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 16 años
Puntos: 12
Respuesta: Configuracion libreria GD

este es el script uso para redimensionar


Código PHP:
    //Copyright © McAnam.com 
    
function iPintaImagenRedimensionada ($sDirImagen$bEscalable$ancho$alto$iTipo){
        
$sDirImagen="http://www.dominio.com/foto.jpg"
$bEscalable="0"
$ancho="300"
$alto="0"
$iTipo="2"
        
// Cogemos los datos de la imagen 
        
$vDatosImg = @getimagesize($sDirImagen); 

        if (!
$vDatosImg) return -8

        
// Recogemos el Tipo Mime 
        
if (isset($vDatosImg['mime'])) 
            
$sTipo $vDatosImg['mime']; 
        else if(isset(
$vDatosImg[2])) 
            
$sTipo image_type_to_mime_type($vDatosImg[2]); 
        else if (isset(
$iTipo)) 
            
$sTipo image_type_to_mime_type($iTipo); 
        else 
            return -
10
        
// Recogemos la imagen a partir de la dirección dada ($sDirImagen) 
        
switch($vDatosImg[2]){ 
            case 
IMAGETYPE_GIF
                
$imgOrigen imagecreatefromgif($sDirImagen); 
                break; 
            case 
IMAGETYPE_JPEG
                
$imgOrigen imagecreatefromjpeg($sDirImagen); 
                break; 
            case 
IMAGETYPE_PNG
                
$imgOrigen imagecreatefrompng($sDirImagen); 
                break; 
            case 
IMAGETYPE_SWF
            case 
IMAGETYPE_PSD
            case 
IMAGETYPE_BMP
            case 
IMAGETYPE_TIFF_II
            case 
IMAGETYPE_TIFF_MM
            case 
IMAGETYPE_JPC
            case 
IMAGETYPE_JP2
            case 
IMAGETYPE_JPX
            case 
IMAGETYPE_JB2
            case 
IMAGETYPE_SWC
            case 
IMAGETYPE_IFF
                return -
11
                break; 
            case 
IMAGETYPE_WBMP
                
$imgOrigen imagecreatefromwbmp($sDirImagen); 
                break; 
            case 
IMAGETYPE_XBM
                
$imgOrigen imagecreatefromxbm($sDirImagen); 
                break; 
            default: 
                return -
13
                break; 
        } 

        
/* 
            Establecemos los tamaños: 
                - Si bEscalable viene como true. 
                 Se multiplican los valores recibidos para ancho y alto 
                 por el ancho y alto de la imagen, 
                 así 0.5 sería la mitad de la imagen y 2 sería el doble 
                - Si bEscalable viene como false. 
                 Los tamaños serán los pasados por ancho y alto directamente 
                - Si ancho o alto vienen como 0 o numero negativo, 
                 el valor de esta propiedad será asignada proporcionalmente con 
                 el valor de la otra. 
                - Si ancho y alto vienen como 0 o numero negativo, Error 
        */ 

        
if (!(is_numeric($ancho)) || !(is_numeric($alto))) return -20

        if (
$bEscalable){ 
            if (
$ancho 0){ 
                
$ancho *= $vDatosImg[0]; 
                if (
$alto 0$alto *= $vDatosImg[1]; 
                else 
$alto $vDatosImg[1] * ($ancho $vDatosImg[0]); 
            }else if (
$alto 0){ 
                
$alto *= $vDatosImg[1]; 
                
$ancho $vDatosImg[0] * ($alto $vDatosImg[1]); 
            }else{ 
                return -
21;     
            } 
        }else{ 
            if ((
$ancho 0) && ($alto 1)) 
                
$alto $vDatosImg[1] * ($ancho $vDatosImg[0]); 
            else if ((
$alto 0) && ($ancho 1)) 
                
$ancho $vDatosImg[0] * ($alto $vDatosImg[1]); 
            else if ((
$alto 1) && ($ancho 1)) 
                return -
21;     

        } 

        
// Se crea la nueva imagen redimensionada 
        
if (function_exists("ImageCreateTrueColor")) 
            
$imgDestino ImageCreateTrueColor($ancho,$alto); 
        else 
            
$imgDestino ImageCreate($ancho,$alto); 

        
ImageCopyResized ($imgDestino$imgOrigen0000$ancho$alto$vDatosImg[0], $vDatosImg[1]); 

        
/* 
            Se envía la cabecera de los datos de la imagen. 
            Cuando llegue aquí no debe de haber sido enviado NADA. 
            Si se ha enviado algo, aunque fuera un "intro" o espacio daría error 
        */ 
        
header("Content-type: ".$sTipo); 

        
// Se pinta la imagen según el tipo 
        
switch($vDatosImg[2]){ 
            case 
IMAGETYPE_GIF
                
imagegif($imgDestino); 
                break; 
            case 
IMAGETYPE_JPEG
                
imagejpeg($imgDestino$save_view); 
                break; 
            case 
IMAGETYPE_PNG
                
imagepng($imgDestino); 
                break; 
            case 
IMAGETYPE_SWF
            case 
IMAGETYPE_PSD
            case 
IMAGETYPE_BMP
            case 
IMAGETYPE_TIFF_II
            case 
IMAGETYPE_TIFF_MM
            case 
IMAGETYPE_JPC
            case 
IMAGETYPE_JP2
            case 
IMAGETYPE_JPX
            case 
IMAGETYPE_JB2
            case 
IMAGETYPE_SWC
            case 
IMAGETYPE_IFF
                return -
12
                break; 
            case 
IMAGETYPE_WBMP
                
imagewbmp($imgDestino); 
                break; 
            case 
IMAGETYPE_XBM
                
imagexbm($imgDestino); 
                break; 
            default: 
                return -
13
                break; 
        } 

        
imagedestroy($imgOrigen); 
        
imagedestroy($imgDestino); 

        return 
1

    } 

    function 
ErrorPintaImagenRedimensionada($iRetorno){ 

        
$sTexto1 ""
        
$sTexto2 ""

        switch(
$iRetorno){ 
            case -
8
                
$sTexto1 "La dirección de la imagen dada no es válida"
                break; 
            case -
10
                
$sTexto1 "No se ha encontrado el tipo mime de la imagen"
                
$sTexto2 "ni en sus cabeceras ni pasadas por parámetro"
                break; 
            case -
11
                
$sTexto1 "El tipo de la imagen dado no se puede redimensionar"
                
$sTexto2 "Se recomiendan los tipos jpg, gif ó png"
                break; 
            case -
12
                
$sTexto1 "No es posible crear una imagen con el tipo dado"
                
$sTexto2 "Se recomiendan los tipos jpg, gif ó png"
                break; 
            case -
13
                
$sTexto1 "El tipo mime no esta implementado"
                
$sTexto2 "Se recomiendan los tipos jpg, gif ó png"
                break; 
            case -
20
                
$sTexto1 "Error en los parámetros pasados ancho (3º) ó alto(4º)"
                
$sTexto2 "Los valores deben ser numéricos enteros o decimales"
                break; 
            case -
21
                
$sTexto1 "Error en los parámetros pasados ancho (3º) y alto(4º)"
                
$sTexto2 "al menos uno de estos parámetros deben de ser positivos"
                break; 
            default: 
                if (
$iRetorno 0$sTexto1 "Error desconocido"
                break; 
        } 

        if (
$sTexto1 != ""){ 
            
$imagen imagecreate (40040); 
            
$cFondo imagecolorallocate ($imagen255226169); 
            
$cTexto imagecolorallocate ($imagen1531020); 
            
imagefilledrectangle ($imagen0015030$cFondo); 
            if (
$sTexto2 == ""){ 
                
imagestring ($imagen3515$sTexto1$cTexto); 
            }else{ 
                
imagestring ($imagen355$sTexto1$cTexto); 
                
imagestring ($imagen3520$sTexto2$cTexto); 
            } 

            
header("Content-type: image/png"); 
            
imagepng($imagen); 
            
imagedestroy($imagen); 
        } 

    } 

     
    
$iError iPintaImagenRedimensionada("imagen.jpg"TRUE0.5, -1IMAGETYPE_JPEG); 

Etiquetas: imagenes, libreriagd, mysql
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 07:51.