GDライブラリが提供する関数を使用して画像を動的に描画した後、ブラウザに出力するか、画像を保存する必要があります。 PHP では、動的に描画されたキャンバスを GIF、JPEG、PNG、WBMP の 4 つの画像形式に直接生成できます。これらの形式の画像は、次の 4 つの関数を呼び出すことで生成できます:
bool imagegif(resource $image[,string $filename]) //以GIF格式将图像输出 bool imagejpeg(resource $image[,string $filename[,int $quality]]) //以JPEG格式将图像输出 bool imagepng(resource $image[,string $filename]) //以PNG格式将图像输出 bool imagewbmp(resource $image[,string $filename[,int $foreground]]) //以WBMP格式将图像输出
上記の 4 つの関数の使用法は似ており、最初の 2 つのパラメーターの使用法も同じです。最初のパラメータ $image は必須で、前に紹介した画像参照ハンドルです。これらの関数が他のパラメーターを提供する場合、アクセス時に元の画像が直接ストリーミングされ、動的に出力された画像がブラウザーに表示されます。ただし、出力前に header() 関数を使用してヘッダー情報を送信する必要があります。これは、受信したコンテンツを解析するために正しい MIME タイプを使用するようにブラウザーに通知するために使用され、テキストのような HTML ではなく画像を送信していることをブラウザーに認識させます。 。次のコード スニペットは、GD ライブラリでサポートされているイメージ タイプを自動的に検出して、より移植性の高い PHP プログラムを作成します。以下に示すように:
<?php if(function_exists("imagegif")){ //判断生成GIF格式图像的函数是否存在 header("Content-type:image/gif"); //发送标头信息设置MIME类型为image/gif imagegif($im); //以GIF格式将图像输出到浏览器 }elseif(function_exists("imageipeg")){ header("Content-type:image/jpeg"); imagejpeg($im,"",0.5); }elseif(function_exists("imagepng")){ header("Content-type:image/png"); imagepng($im); }elseif(function_exists("imagewbmp")){ header("Content-type:image/wbmp"); imagewbmp($im); }else{ die("在PHP服务器中,不支持图像"); } ?>
PHP で動的に描画されたイメージをローカル サーバーに保存したい場合は、2 番目のオプションのパラメーターにファイル名文字列を指定する必要があります。これにより、画像がブラウザに直接出力されないだけでなく、ヘッダー情報を送信するために header() 関数を使用する必要もなくなります。 imageJPEG() 関数を使用して JPEG 形式の画像を生成する場合、3 番目のオプションのパラメータ $quality を使用して JPEG 形式の画像の品質を指定することもできます。このパラメータで指定できる値は 0 (最低品質ですが、最小ファイル) から 100 (最高品質、最大ファイル) の整数、デフォルト値は 75 です。また、関数 imageWBMP() に 3 番目のオプションのパラメータ $forground を指定して、画像の前景色を指定することもできます。デフォルトの色の値は次のとおりです。黒。
画像を生成するための PHP GD ライブラリのいくつかの関数をまとめたその他の関連記事については、PHP 中国語 Web サイトに注目してください。