Php/docs/function.imagegif

提供:Dev Guides
< Php
移動先:案内検索

imagegif

(PHP 4, PHP 5, PHP 7)

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


説明

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

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

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


パラメータ

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


返り値

成功した場合に true を、失敗した場合に false を返します。

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


例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 outputif(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 memoryif($im){    imagedestroy($im);}?>

注意:

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

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

参考

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