Foros del Web » Programando para Internet » PHP »

Problemas con imagecreatefrom...

Estas en el tema de Problemas con imagecreatefrom... en el foro de PHP en Foros del Web. Hola a todos: Tengo un problema muy raro al usar las funciones imagecreatefromjpeg, imagecreatefromgif,... Siempre que llamo a una de ellas desde este script: Código ...
  #1 (permalink)  
Antiguo 19/10/2004, 03:30
 
Fecha de Ingreso: julio-2003
Mensajes: 209
Antigüedad: 20 años, 8 meses
Puntos: 0
Exclamación Problemas con imagecreatefrom...

Hola a todos:

Tengo un problema muy raro al usar las funciones imagecreatefromjpeg, imagecreatefromgif,...

Siempre que llamo a una de ellas desde este script:

Código PHP:
<?php 


    
class thumbnail 
    

        var 
$image
        var 
$size_x
        var 
$size_y
        function 
thumbnail($url) {$this->image=$url;} 
        function 
size($size_x,$size_y) {$this->size_x=$size_x;$this->size_y=$size_y;} 
        function 
show() 
        { 
            
header("Content-type: image/jpeg"); 
                
               
$imageinfo=getimagesize ($this->image); 
            
$x=$imageinfo[0]; 
            
$y=$imageinfo[1]; 
            if(
$imageinfo[2]==1)    $original_image=imagecreatefromgif($this->image); 
            if(
$imageinfo[2]==2)    $original_image=imagecreatefromjpeg($this->image); 
            if(
$imageinfo[2]==3)    $original_image=imagecreatefrompng($this->image); 
            if(
$imageinfo[2]>3)        die('Image format not supported'); 

            
$resize_x=$this->size_x/$x
            
$resize_y=$this->size_y/$y
            if(
$resize_x<$resize_y$resize=$resize_x
            else 
$resize=$resize_y

            
$im    imagecreatetruecolor(ceil($x*$resize),ceil($y*$resize)); 
            
imagecopyresized($im,$original_image,0,0,0,0,ceil($x*$resize),ceil($y*$resize),$x,$y); 

               
imagejpeg($im); 
               
imagedestroy($im); 
        } 
    } 

?>
Me devuelve el error:

Fatal error: Call to undefined function: imagecreatefrom....() in D:\...... on line .....

He estado mirando en PHP.net y he visto que esas funciones están implementadas desde PHP3 y según el administrador de mi servidor uso PHP4.

¿Por qué puede pasar este error? ¿Tengo que hacer algo? para poderlas usar?

Gracias de antemano!
  #2 (permalink)  
Antiguo 19/10/2004, 03:33
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Esas funciones estan en la extension GD. Si no tienes instalada y configurada la extension GD, no estan disponibles. Mas info: www.php.net/gd

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 19/10/2004, 03:48
 
Fecha de Ingreso: julio-2003
Mensajes: 209
Antigüedad: 20 años, 8 meses
Puntos: 0
Muchas gracias.

Ya, es que ellos me dijeron uqe en los hosting de tipo windows + linux estaban implementadas, así que pensaba que a lo mejor tenía que hacer algún include o algo.

Voy a escribirles. Muchas gracias.
  #4 (permalink)  
Antiguo 19/10/2004, 04:04
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Haz un phpinfo() (www.php.net/phpinfo) y mira a ver si te muestra la libreria GD. Y tambien mira el soporte de GIF, en algunas versiones de GD no se pueden ni leer ni escribir (y no existe imgecreatefromgif()). Lios con las patentes.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 19/10/2004, 05:37
 
Fecha de Ingreso: julio-2003
Mensajes: 209
Antigüedad: 20 años, 8 meses
Puntos: 0
Muchas gracias por todo josemi.

Les he escrito a mi proveedor y me lo van a solucionar. Usaré el phpinfo() en cuanto me avisen.

Hasta la próxima ;)
  #6 (permalink)  
Antiguo 19/10/2004, 08:03
 
Fecha de Ingreso: julio-2003
Mensajes: 209
Antigüedad: 20 años, 8 meses
Puntos: 0
Hola a todos otra vez.

Bueno, ya no me da problemas en el tema de funciones, pero la imagen que me devuelve es erronea (Sale el dibujo de "La imagen no existe" del explorador).

El código es el siguiente:
Código PHP:
// Llamada: [url]http://lnx.asteriscopuntoasterisco.com/imagen.php?x=100&y=130&url=RUTA[/url] URL IMAGEN
     
            
$url=$_GET["url"];
            
$y=$_GET["y"];
            
$x=$_GET["x"];
            if (
$url==""){
                die(
"URL de la imagen nula");
            }
            
header("Content-type: image/jpeg"); 
            
$imageinfo=getimagesize ($url); 
            
$xo=$imageinfo[0];
            
$yo=$imageinfo[1];
            if(
$imageinfo[2]==1){
                
$original_imageimagecreatefromgif($url);
            }
            if(
$imageinfo[2]==2){
                
$original_imageimagecreatefromjpeg($url);
            }
            if(
$imageinfo[2]==3){
                
$original_imageimagecreatefrompng($url);
            }
            if(
$imageinfo[2]>3){
                die(
'Error al procesar imagen');
            }

            
$nuevo_x=$xo/$x
            
$nuevo_y=$yo/$y
            if(
$nuevo_x<$nuevo_y){
                
$nuevo=$nuevo_x
            } else {
                
$nuevo=$nuevo_y;
            }
        
            
$im imagecreatetruecolor(ceil($x*$nuevo),ceil($y*$nuevo)); 
            
imagecopyresized($im,$original_image,0,0,0,0,ceil($x*$nuevo),ceil($y*$nuevo),$x,$y); 

               
imagejpeg($im);
               
imagedestroy($im); 
Aquí teneis un ejemplo:
http://lnx.asteriscopuntoasterisco.c...s/gcfrente.jpg

¿Podéis ayudarme? ¿Por qué falla?

¡Muchas gracias!

Última edición por dolarsrg; 19/10/2004 a las 08:05
  #7 (permalink)  
Antiguo 19/10/2004, 10:08
 
Fecha de Ingreso: julio-2003
Mensajes: 209
Antigüedad: 20 años, 8 meses
Puntos: 0
Ya lo he solucionado. No hace falta que lo miréis.

Muchas gracias a todos.
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 11:34.