GD および Image 関数
PHP Manual

imagegif

(PHP 4, PHP 5)

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

説明

bool imagegif ( resource $image [, string $filename ] )

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

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

パラメータ

image

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

filename

ファイルの保存先のパス。省略したり NULL を設定したりした場合は、画像ストリームを直接出力します。

返り値

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

例1 imagegif() による画像の出力

<?php
// 新しい画像のインスタンスを作成します
$im imagecreatetruecolor(100100);

// 背景を白にします
imagefilledrectangle($im0099990xFFFFFF);

// テキスト文字列を画像の上に描画します
imagestring($im34020'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(100100);

// 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($imNULL100);
}
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);
}
?>

注意:

4.0.2 以降では、種々のイメージ関数の サポートを調べるために function_exists() の 代わりに関数 imagetypes() を使用することが可能です。

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

参考


GD および Image 関数
PHP Manual