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

# imagegif

(PHP 4, PHP 5, PHP 7)

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

### 説明

imagegif ( resource `$image` [, mixed `$to` ] ) : bool

imagegif() は画像 `image` から `to` に GIF ファイルを作成します。 引数 `image` は imagecreate() あるいは imagecreatefrom* 関数から返されたものです。

画像フォーマットは、imagecolortransparent() を 用いて画像を透明化しない限り GIF87a となります。 透明化した場合の画像フォーマットは GIF89a となります。

### パラメータ

`image`

  imagecreatetruecolor() のような画像作成関数が返す画像リソース。

`to`

  ファイル保存先のパスあるいはオープン中のリソース (この関数が値を戻した後で自動的にクローズされます)。省略したり `NULL` を設定したりした場合は、画像ストリームを直接出力します。

### 返り値

成功した場合に `TRUE` を、失敗した場合に `FALSE` を返します。

警告

しかしながら、libgd がイメージの出力に失敗した場合、この関数は `TRUE` を返します。

### 変更履歴

バージョン | 説明
--- | ---
5.4.0 | ストリームリソースを `to` に渡せるようになりました。

### 例

例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!';
?>`

### 注意

> 注意:

> GIF のサポートは GD ライブラリのバージョン 1.6 でいったん削除され、バージョン 2.0.28 で復活しました。この間のバージョンではこの関数は使えません。 詳細な情報は » GD Project のサイトを参照ください。

> 以下の短いコードにより、利用可能な 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
> {
> 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);
> }
> ?>`

> 注意:

> 種々のイメージ関数のサポートを調べるために 関数 imagetypes() を使用することが可能です。

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

### 参考

- imagepng() - PNG イメージをブラウザまたはファイルに出力する
- imagewbmp() - 画像をブラウザあるいはファイルに出力する
- imagejpeg() - 画像をブラウザあるいはファイルに出力する
- imagetypes() - この PHP がサポートしている画像形式を返す