imagegif

(PHP 4, PHP 5, PHP 7, PHP 8)

imagegif輸出圖象到瀏覽器或文件。

說明

imagegif(resource $image, string $filename = ?): bool

imagegif()image 圖像以 filename 為文件名創(chuàng)建一個(gè) GIF 圖像。image 參數(shù)是 imagecreate()imagecreatefrom* 函數(shù)的返回值。

圖像格式為 GIF87a。如果用了 imagecolortransparent() 使圖像為透明,則其格式為 GIF89a。

參數(shù)

image

由圖象創(chuàng)建函數(shù)(例如imagecreatetruecolor())返回的 GdImage 對(duì)象。

filename

文件保存的路徑或者已打開的流資源(此方法返回后自動(dòng)關(guān)閉該流資源),如果未設(shè)置或?yàn)?null,將會(huì)直接輸出原始圖象流。

返回值

成功時(shí)返回 true, 或者在失敗時(shí)返回 false。

范例

示例 #1 使用 imagegif() 輸出一個(gè)圖像

<?php
// 創(chuàng)建新的圖像實(shí)例
$im imagecreatetruecolor(100100);

// 設(shè)置背景為白色
imagefilledrectangle($im0099990xFFFFFF);

//在圖像上寫字
imagestring($im34020'GD Library'0xFFBA00);

// 輸出圖像到瀏覽器
header('Content-Type: image/gif');

imagegif($im);
imagedestroy($im);
?>

示例 #2 使用 imagegif() 將一個(gè) PNG 轉(zhuǎn)換成 GIF

<?php

// 載入 PNG
$png imagecreatefrompng('./php.png');

// 以 GIF 保存圖像
imagegif($png'./php.gif');

// 釋放內(nèi)存
imagedestroy($png);

// 完工
echo 'Converted PNG image to GIF with success!';
?>

注釋

注意:

不過從 GD 庫 1.6 起所有的 GIF 支持都移除了,并在版本 2.0.28 中加了回來。如果使用這些 版本之間的 GD 庫時(shí)本函數(shù)不可用。 更多信息見 ? GD Project 站點(diǎn)。

以下代碼段通過自動(dòng)檢測(cè) GD 支持的圖像類型來寫出移植性更好的 PHP 程序。用更靈活的代碼替代了原來的 header("Content-type: image/gif"); imagegif($im);

<?php
// 創(chuàng)建新的圖像實(shí)例
$im imagecreatetruecolor(100100);

// 在這里對(duì)圖像進(jìn)行一些操作

// 處理輸出
if(function_exists('imagegif'))
{
    
// 針對(duì) GIF
    
header('Content-Type: image/gif');

    
imagegif($im);
}
elseif(
function_exists('imagejpeg'))
{
    
// 針對(duì) JPEG
    
header('Content-Type: image/jpeg');

    
imagejpeg($imNULL100);
}
elseif(
function_exists('imagepng'))
{
    
// 針對(duì) PNG
    
header('Content-Type: image/png');

    
imagepng($im);
}
elseif(
function_exists('imagewbmp'))
{
    
// 針對(duì) WBMP
    
header('Content-Type: image/vnd.wap.wbmp');

    
imagewbmp($im);
}
else
{
    
imagedestroy($im);

    die(
'No image support in this PHP server');
}

// 如果發(fā)現(xiàn)圖像是以上的格式之一,就從內(nèi)存中釋放
if($im)
{
    
imagedestroy($im);
}
?>

注意:

自 PHP 3.0.18 和 4.0.2 起可以用 imagetypes() 函數(shù)代替 function_exists() 來檢查是否支持某種圖像格式:

<?php
if(imagetypes() & IMG_GIF)
{
    
header('Content-Type: image/gif');
    
imagegif($im);
}
elseif(
imagetypes() & IMG_JPG)
{
    
/* ... etc. */
}
?>

參見

  • imagepng() - 以 PNG 格式將圖像輸出到瀏覽器或文件
  • imagewbmp() - 以 WBMP 格式將圖像輸出到瀏覽器或文件
  • imagejpeg() - 輸出圖象到瀏覽器或文件。
  • imagetypes() - 返回當(dāng)前 PHP 版本所支持的圖像類型