(PHP 4, PHP 5, PHP 7)
imagegif — Exportar la imagen al navegador o a un fichero
$image
[, string $filename
] ) : bool
imagegif() crea el archivo GIF
en filename desde la imagen image
. El
argumento image
es el devuelto por la función
imagecreate() o imagecreatefrom*.
El formato de la imagen será GIF87a a menos que la imagen haya sido hecha transparente con imagecolortransparent(), en cuyo caso el formato de la imagen será GIF89a.
image
Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().
filename
La ruta o un recurso de flujo de apertura (el cual se cierra automáticamente después de que devuelva esta función) donde guardar el fichero. Si no se establece, o su valor es NULL
, se mostrará directamente en la salida el flujo de imagen sin tratar.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Imprimir una imagen usando imagegif()
<?php
// Crear una nueva instancia de imagen
$im = imagecreatetruecolor(100, 100);
// Hacer el fondo blanco
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
// Dibujar una cadena de texto en la imagen
imagestring($im, 3, 40, 20, 'Biblioteca GD', 0xFFBA00);
// Imprimir la imagen al navegador
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
?>
Ejemplo #2 Convertir una imagen PNG en GIF usando imagegif()
<?php
// Cargar el PNG
$png = imagecreatefrompng('./php.png');
// Guardar la imagen como un GIF
imagegif($png, './php.gif');
// Liberar memoria
imagedestroy($png);
// Hemos acabado
echo '¡La converisón de la imagen PNG a GIF tuvo éxtio!';
?>
Nota:
El soporte para GIF se eliminó de la biblioteca GD en la Versión 1.6, y se volvió a añdir en la Versión 2.0.28. Esta función no está disponible entre estas versiones. Para más información vea el portal del » Proyecto GD.
El siguiente trozo de código permite escribir apliaciones PHP más portables, autodetectando el tipo de soporte de GD que está disponible. Reemplace la secuencia header ("Content-Type: image/gif"); imagegif ($im); por la secuencia más flexible:
<?php
// Crear una nueva instancia de imagen
$im = imagecreatetruecolor(100, 100);
// Hacer algunas operaciones con la imagen aquí
// Gestionar la salida
if(function_exists('imagegif'))
{
// Para GIF
header('Content-Type: image/gif');
imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
// Para JPEG
header('Content-Type: image/jpeg');
imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
// Para PNG
header('Content-Type: image/png');
imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
// Para WBMP
header('Content-Type: image/vnd.wap.wbmp');
imagewbmp($im);
}
else
{
imagedestroy($im);
die('No hay soporte de imagen en este servidor PHP');
}
// Si se encontró soporte para imágenes de uno de estos
// cuatro formatos, se libera de la memoria
if($im)
{
imagedestroy($im);
}
?>
Nota:
A partir de PHP 4.0.2 se puede usar la funcion imagetypes() en lugar de function_exists() para verificar la presencia de los distintos formatos de imagen soportados:
<?php
if(imagetypes() & IMG_GIF)
{
header('Content-Type: image/gif');
imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
/* ... etc. */
}
?>