(PHP 4, PHP 5, PHP 7, PHP 8)
imagegif — 画像をブラウザあるいはファイルに出力する
imagegif() は画像 image
から file
に GIF ファイルを作成します。
引数 image
は
imagecreate() あるいは imagecreatefrom*
関数から返されたものです。
画像フォーマットは、imagecolortransparent() を 用いて画像を透明化しない限り GIF87a となります。 透明化した場合の画像フォーマットは GIF89a となります。
image
imagecreatetruecolor()のような画像作成関数が返す GdImage オブジェクト。
file
ファイル保存先のパスあるいはオープン中のリソース (この関数が値を戻した後で自動的にクローズされます)。省略したり null
を設定したりした場合は、画像ストリームを直接出力します。
成功した場合に true
を、失敗した場合に false
を返します。
しかしながら、libgd がイメージの出力に失敗した場合、この関数は true
を返します。
バージョン | 説明 |
---|---|
8.0.0 |
image は、
GdImage
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、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);
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!';
?>
注意:
以下の短いコードにより、利用可能な 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. */
}
?>