imagegif
(PHP 4, PHP 5, PHP 7, PHP 8)
imagegif — Output image to browser or file
Description
imagegif() creates the GIF
file in file
from the image image
. The
image
argument is the return from the
imagecreate() or imagecreatefrom*
function.
The image format will be GIF87a unless the image has been made transparent with imagecolortransparent(), in which case the image format will be GIF89a.
Parameters
-
image
-
A GdImage object, returned by one of the image creation functions, such as imagecreatetruecolor().
-
file
-
The path or an open stream resource (which is automatically closed after this function returns) to save the file to. If not set or
null
, the raw image stream will be output directly.
Return Values
Returns true
on success or false
on failure.
However, if libgd fails to output the image, this function returns true
.
Changelog
Version | Description |
---|---|
8.0.0 |
image expects a GdImage
instance now; previously, a resource was expected.
|
Examples
Example #1 Outputting an image using imagegif()
<?php
// Create a new image instance
$im = imagecreatetruecolor(100, 100);
// Make the background white
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
// Draw a text string on the image
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);
// Output the image to browser
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
?>
Example #2 Converting a PNG image to GIF using imagegif()
<?php
// Load the PNG
$png = imagecreatefrompng('./php.png');
// Save the image as a GIF
imagegif($png, './php.gif');
// Free from memory
imagedestroy($png);
// We're done
echo 'Converted PNG image to GIF with success!';
?>
Notes
Note:
The following code snippet allows you to write more portable PHP applications by auto-detecting the type of GD support which is available. Replace the sequence
header ("Content-Type: image/gif"); imagegif ($im);
by the more flexible sequence:<?php
// Create a new image instance
$im = imagecreatetruecolor(100, 100);
// Do some image operations here
// Handle output
if(function_exists('imagegif'))
{
// For GIF
header('Content-Type: image/gif');
imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
// For JPEG
header('Content-Type: image/jpeg');
imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
// For PNG
header('Content-Type: image/png');
imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
// For WBMP
header('Content-Type: image/vnd.wap.wbmp');
imagewbmp($im);
}
else
{
imagedestroy($im);
die('No image support in this PHP server');
}
// If image support was found for one of these
// formats, then free it from memory
if($im)
{
imagedestroy($im);
}
?>
Note:
You can use the function imagetypes() for checking the presence of the various supported image formats:
<?php
if(imagetypes() & IMG_GIF)
{
header('Content-Type: image/gif');
imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
/* ... etc. */
}
?>
See Also
- imagepng() - Output a PNG image to either the browser or a file
- imagewbmp() - Output image to browser or file
- imagejpeg() - Output image to browser or file
- imagetypes() - Return the image types supported by this PHP build