画像をブラウザあるいはファイルに出力する

# 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*` 関数から返されたものです。

画像フォーマットは、imagecolortransparent() を 用いて画像を透明化しない限り GIF87a となります。 透明化した場合の画像フォーマットは 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
>     // 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
>     {
>         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