Foros del Web » Programando para Internet » PHP »

Problemas en GD

Estas en el tema de Problemas en GD en el foro de PHP en Foros del Web. Hola buenas foreros, Tengo un pequeño problema con la creación de imagenes y sólamente me pasa con los gifs. Tengo el php 4.3.0 Información del ...
  #1 (permalink)  
Antiguo 18/12/2007, 11:24
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Problemas en GD

Hola buenas foreros,

Tengo un pequeño problema con la creación de imagenes y sólamente me pasa con los gifs.

Tengo el php 4.3.0

Información del phpinfo.

gd
GD Support enabled
GD Version bundled (2.0 compatible)
FreeType Support enabled
FreeType Linkage with freetype
JPG Support enabled
PNG Support enabled
WBMP Support enabled


Como se ve no sale el gif y me sale este error
Fatal error: Call to undefined function: imagecreatefromgif() in d:\server\chollo\tmp1tmwot99l8.php on line 19


El Código.:<?
$file = "11.gif";//Nombre de la imagen Original
function image_gd($file)
{
$extension = explode(".",$file);
$ext = count($extension)-1;
//Determinamos las extenciones permitidas.
if($extension[$ext] == "jpg" || $extension[$ext] == "jpeg")
{
$image = ImageCreateFromJPEG($file);
}
else if($extension[$ext] == "gif"){
$image = ImageCreateFromGIF($file);
}
else if($extension[$ext] == "png"){
$image = ImageCreateFromPNG($file);
}
else
{
echo "Error, extencion no permitida";
die();
}

$thumb_name = substr($file,0,-5);//nombre del thumbnail
$width = imagesx($image);//ancho
$height = imagesy($image);//alto

$nueva_anchura = 100; // Definimos el tamaño a 100 px
$nueva_altura = ($nueva_anchura * $height) / $width ; // tamaño proporcional

if (function_exists("imagecreatetruecolor"))
{
$thumb = ImageCreateTrueColor($nueva_anchura, $nueva_altura);//Color Real
}
//En caso de no encontrar la funcion, la saca en calidad media
if (!$thumb) $thumb = ImageCreate($nueva_anchura, $nueva_altura);

ImageCopyResized($thumb, $image, 0, 0, 0, 0, $nueva_anchura, $nueva_altura, $width, $height);
header("Content-type: image/jpeg");
ImageJPEG($thumb, "./segundamano/ventatabla/s_".$thumb_name.".jpg", 100);
imagedestroy($image);

return $image;
}
/* Forma de uso */
image_gd($file);
?>
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #2 (permalink)  
Antiguo 18/12/2007, 11:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas en GD

Necesitas recompilar la librería GD con soporte para GIF.

Saludos.
  #3 (permalink)  
Antiguo 18/12/2007, 11:37
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Re: Problemas en GD

Hola me podrias ayudar en como recompilar la librería GD?

Muchisimas gracias compañero.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #4 (permalink)  
Antiguo 18/12/2007, 11:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas en GD

Dependiendo tu sistema operativo, son diferentes las instrucciones, te recomiendo vayas al foro de Sistemas Operativos para que te orienten adecuadamente.

Saludos.
  #5 (permalink)  
Antiguo 18/12/2007, 11:44
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Re: Problemas en GD

Una cosa ya tengo instalado en D:\Php\extensions
los archivos php_gd.dll y php_gd2.dll

y en la carpeta de windows el archivo php.ini

;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
;
;extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_crack.dll
;extension=php_curl.dll
;extension=php_db.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_domxml.dll
;extension=php_exif.dll
;extension=php_fbsql.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_hyperwave.dll
;extension=php_iconv.dll


etc etc
.......................
Como es dll se ve que es windows muchas gracias compañero es k no se poque solo con GIF
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #6 (permalink)  
Antiguo 18/12/2007, 11:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas en GD

Cita:
Iniciado por GatorV Ver Mensaje
Dependiendo tu sistema operativo, son diferentes las instrucciones, te recomiendo vayas al foro de Sistemas Operativos para que te orienten adecuadamente.

Saludos.
  #7 (permalink)  
Antiguo 18/12/2007, 11:57
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: Problemas en GD

Cita:
Iniciado por syntex Ver Mensaje
header("Content-type: image/jpeg");
ImageJPEG($thumb, "./segundamano/ventatabla/s_".$thumb_name.".jpg", 100);
imagedestroy($image);

return $image;
}
/* Forma de uso */
image_gd($file);
?> [/COLOR]
syntex:
En tu codigo observo que el content type lo tienes solo con jpeg
y debes considerar gif y png via un if(ext.....==.gif) {.....}
Despues veo que tienes imageJPEG y por ningun lado veo imageGIF
Y finalmente el nombre de la imagen es .jpg y por ningun lado veo .gif
Saludos
Y Espero te ayude.
Franco
  #8 (permalink)  
Antiguo 18/12/2007, 12:03
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Re: Problemas en GD

<?
$file = "11.gif";//Nombre de la imagen Original


function image_gd($file)
{
//Separamos las extenciones de archivos para definir el tipo de ext.
$extension = explode(".",$file);
$ext = count($extension)-1;
//Determinamos las extenciones permitidas.
if($extension[$ext] == "jpg" || $extension[$ext] == "jpeg")
{
$image = ImageCreateFromJPEG($file);
}
else if($extension[$ext] == "gif"){
$image = ImageCreateFromGIF($file);
}
else if($extension[$ext] == "png"){
$image = ImageCreateFromPNG($file);
}
else
{
echo "Error, extencion no permitida";
die();
}

$thumb_name = substr($file,0,-5);//nombre del thumbnail
$width = imagesx($image);//ancho
$height = imagesy($image);//alto

$nueva_anchura = 100; // Definimos el tamaño a 100 px
$nueva_altura = ($nueva_anchura * $height) / $width ; // tamaño proporcional

if (function_exists("imagecreatetruecolor"))
{
$thumb = ImageCreateTrueColor($nueva_anchura, $nueva_altura);//Color Real
}
//En caso de no encontrar la funcion, la saca en calidad media
if (!$thumb) $thumb = ImageCreate($nueva_anchura, $nueva_altura);

ImageCopyResized($thumb, $image, 0, 0, 0, 0, $nueva_anchura, $nueva_altura, $width, $height);
header("Content-type: image/gif");
ImageJPEG($thumb, "./segundamano/ventatabla/s_".$file.".gif", 100);
imagedestroy($image);

return $image;
}
/* Forma de uso */
image_gd($file);
?>

Si fuera un simple gif? seria asín?

Me da error
Fatal error: Call to undefined function: imagecreatefromgif() in d:\server\chollo\tmp397d4t9bg2.php on line 24
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #9 (permalink)  
Antiguo 18/12/2007, 12:24
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: Problemas en GD

syntex:
Si php No tiene soporte para gif, te lo diria en el error y lo dice muy claramente.
Pero tu error es que No esta definida lo que me indica que hay error en el codigo y NO en las librerias GD de php.
Saludos
Y espero ayude
franco
  #10 (permalink)  
Antiguo 18/12/2007, 12:35
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Re: Problemas en GD

Hola buenas e copiado el script y ahora todo se dice k se haga el GIF

<?php
$file = "11.gif";//Nombre de la imagen Original


function image_gd($file)
{
//Separamos las extenciones de archivos para definir el tipo de ext.
$extension = explode(".",$file);
$ext = count($extension)-1;
//Determinamos las extenciones permitidas.
if($extension[$ext] == "jpg" || $extension[$ext] == "jpeg")
{
$image = ImageCreateFromJPEG($file);
}
else if($extension[$ext] == "gif"){
$image = ImageCreateFromGIF($file);
}
else if($extension[$ext] == "png"){
$image = ImageCreateFromPNG($file);
}
else
{
echo "Error, extencion no permitida";
die();
}

$thumb_name = substr($file,0,-5);//nombre del thumbnail
$width = imagesx($image);//ancho
$height = imagesy($image);//alto

$nueva_anchura = 100; // Definimos el tamaño a 100 px
$nueva_altura = ($nueva_anchura * $height) / $width ; // tamaño proporcional

if (function_exists("imagecreatetruecolor"))
{
$thumb = ImageCreateTrueColor($nueva_anchura, $nueva_altura);//Color Real
}
//En caso de no encontrar la funcion, la saca en calidad media
if (!$thumb) $thumb = ImageCreate($nueva_anchura, $nueva_altura);

ImageCopyResized($thumb, $image, 0, 0, 0, 0, $nueva_anchura, $nueva_altura, $width, $height);
header("Content-type: image/gif");
ImageJPEG($thumb, "t_".$thumb_name.".gif", 100);
imagedestroy($image);

return $image;
}
/* Forma de uso */
image_gd($file);
?>

El problema me lo da en $image = ImageCreateFromGIF($file);
¿No es correcto?

Es que no lo entiendo porque de librerias no creo que sea aunque si miro la información de php no esta.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #11 (permalink)  
Antiguo 18/12/2007, 12:54
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: Problemas en GD

syntex:
Francamante, esto parece un bug de instalacion del php,
las librerias gd estan instaladas, que nromalmente incluyen gif,
como no hay nada perfecto en esta vida y aparentemente el codigo
parece estar en orden, pues la unica salida seria reinstalar php.
Saludos.
Franco
P.S. Pero si, estoy seguro, que cuando algo No esta instalado, el error
lo revela claramente. Si acabas de modificar los php.ini en el directorio php y el php.ini en windows, recuerda que hay que reiniciar el sistema para que haga efecto. Y una reinstalacion de php y aun la version 5.0 te seria mas apropiado.
  #12 (permalink)  
Antiguo 18/12/2007, 13:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problemas en GD

Franco,

No siempre esta habilitado todas las imágenes en la librería GD, ya que el formato GIF hasta hace unos años estaba patentado lo que hacia que si lo querías incluir tenias que pagar la licencia, aunque actualmente ya no lo esta, por eso tienes que recompilar la librería para habilitar el formato GIF.

Saludos.
  #13 (permalink)  
Antiguo 18/12/2007, 13:22
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Re: Problemas en GD

me podeis ayudar para windows?

A ver si me podeis ayudar un poco mas es la idea de que cualquier usuario ponga fotografias en anuncios y hacer duplicados con diferente altura y menor de peso.

Un saludo.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #14 (permalink)  
Antiguo 18/12/2007, 13:24
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Re: Problemas en GD

Y una pregunta si en el php.ini de mi windows tengo asignado la extension de phpbg2.dll sin (punto y coma); eso estaria estar compilado no?

Un saludo.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------


Última edición por syntex; 18/12/2007 a las 13:35
  #15 (permalink)  
Antiguo 19/12/2007, 02:08
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Re: Problemas en GD

Nadie me puede ayudar

Gracias.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

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 19:52.