PHPでは、簡単な図形から複雑な画像までテキストベースで描画する機能が備わっています。外部の画像ファイルを直接読み込んで Webブラウザに出力することも可能です。また、様々なテキストを読み込んで、画像に埋め込むこともできます。PHPで利用できる代表的な画像形式は、GIF、JPEG、PNG の3つです。なお、生成できる画像形式は、GIF形式のみ PHPバージョン 1.6 以前でなければ扱うことができません。現在は 4.3 が主流になっていますので、GIF形式の画像を生成することができません。PNG形式を中心に解説します。ただし、2004年6月以降になれば、GIF形式がロイヤリティ・フリーで利用できるようになりますので、新しいバージョン(近々 PHP5.0 のリリースが予定されている)では、利用できるのではないかと予想しています。PHP5.0がリリースされました。)PHPで画像を生成する場合、最初にレンダリングする画像の領域を設定します。また、利用する色などもあらかじめ設定し、その後、画像の形を指定します。
<?php
header("content-type: image/png");
$image = imagecreate(100,100);
$back = imagecolorallocate($image, 0, 0, 0);
$red = imagecolorallocate($image, 255, 0, 0)
imagepolygon( $image, array( 10, 80, 80,80, 80, 10 ), 3, $red );
imagepng($image);
imagedestroy($image);
?>
PHP文書そのものが画像の扱いとなります。これをHTML文書から読み込むために、img要素を使います。PHP文書を読み込ませてレンダリングしたものです。読み込みには、説明したとおり、img要素を使いました。imagecreate()関数使い、横幅と高さを指定します。描画する色の指定には imagecolorallocate()関数で10進数の指定で行い、そして三角形のような多角形を結ぶ線を生成するために imagepolygon()関数を使っています。PNG画像を Webブラウザに出力させるためには、imagepng()関数を使い、その引数に画像リソースを指定します。また、閲覧者のメモリから画像リソースを解放するために、imagdestroy()関数を利用します。PHPに GD (グラフィック用バイナリライブラリ) をインストールしておく必要があります。現在はバージョン2がリリースされており、オープン・ソース・ソフトウェアのため、誰でも自由にダウンロードして使うことができます。Windows版では、ZIP形式からインストールした PHP4.3に、あらかじめ GD2が含まれています。インストーラー形式の PHP4.3では搭載されていない場合がありますので注意してください。