输出图象到浏览器或文件。

# imagegif

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

imagegif — 输出图象到浏览器或文件。

### 说明

function imagegif(GdImage `$image`, resource|string|null `$file` = `null`): bool

imagegif() 从图像 `image` 在 `file` 中创建 GIF 图像。`image` 参数是 imagecreate() 或 `imagecreatefrom*` 函数的返回值。

图像格式为 GIF87a。如果用了 imagecolortransparent() 使图像为透明，则其格式为 GIF89a。

### 参数

`image`
  由图象创建函数(例如imagecreatetruecolor())返回的 GdImage 对象。
`file`

  文件保存的路径或者已打开的流资源（此方法返回后自动关闭该流资源），如果未设置或为 `null`，将会直接输出原始图象流。

### 返回值

成功时返回 `true`， 或者在失败时返回 `false`。

警告

如果 libgd 输出图像失败，函数会返回 `true`。

### 更新日志

版本 | 说明
--- | ---
8.0.0 | `image` 现在需要 GdImage 实例；之前需要有效的 `gd` resource。

### 示例

示例 #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);
    ?>

示例 #2 使用 imagegif() 将 PNG 图像转换成 GIF

    <?php

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

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

    // 完工
    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
>     {
>         die('No image support in this PHP server');
>     }
>     ?>

> 注意:

> 可以用 imagetypes() 函数检查是否支持某种图像格式：

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

### 参见

- imagepng() - 将 PNG 图像输出到浏览器或文件
- imagewbmp() - 输出图象到浏览器或文件。
- imagejpeg() - 输出图象到浏览器或文件。
- imagetypes() - 返回 PHP 内置支持的图像类型

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open