(PHP 4, PHP 5, PHP 7, PHP 8)
imagegif — 输出图象到浏览器或文件。
imagegif() 从图像 image
在 file
中创建 GIF
图像。image
参数是 imagecreate() 或 imagecreatefrom*
函数的返回值。
图像格式为 GIF87a。如果用了 imagecolortransparent() 使图像为透明,则其格式为 GIF89a。
image
由图象创建函数(例如imagecreatetruecolor())返回的 GdImage 对象。
file
文件保存的路径或者已打开的流资源(此方法返回后自动关闭该流资源),如果未设置或为 null
,将会直接输出原始图象流。
示例 #1 使用 imagegif() 输出图像
<?php
// 创建新的图像实例
$im = imagecreatetruecolor(100, 100);
// 设置背景为白色
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
//在图像上绘制文本字符串
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);
// 输出图像到浏览器
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
?>
示例 #2 使用 imagegif() 将 PNG 图像转换成 GIF
<?php
// 载入 PNG
$png = imagecreatefrompng('./php.png');
// 以 GIF 保存图像
imagegif($png, './php.gif');
// 释放内存
imagedestroy($png);
// 完工
echo 'Converted PNG image to GIF with success!';
?>
注意:
以下代码段通过自动检测 GD 支持的图像类型来写出移植性更好的 PHP 程序。用更灵活的代码替代了原来的
header("Content-type: image/gif"); imagegif($im);
:<?php
// 创建新的图像实例
$im = imagecreatetruecolor(100, 100);
// 在这里对图像进行一些操作
// 处理输出
if(function_exists('imagegif'))
{
// 针对 GIF
header('Content-Type: image/gif');
imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
// 针对 JPEG
header('Content-Type: image/jpeg');
imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
// 针对 PNG
header('Content-Type: image/png');
imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
// 针对 WBMP
header('Content-Type: image/vnd.wap.wbmp');
imagewbmp($im);
}
else
{
imagedestroy($im);
die('No image support in this PHP server');
}
// 如果发现图像是以上的格式之一,就从内存中释放
if($im)
{
imagedestroy($im);
}
?>
注意:
可以用 imagetypes() 函数检查是否支持某种图像格式:
<?php
if(imagetypes() & IMG_GIF)
{
header('Content-Type: image/gif');
imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
/* ... etc. */
}
?>