■GDとは?
GDとは、PHP用のグラフィックライブラリです。
現在使っている環境にGDがインストールされているか、どのバージョンなのか、どの画像形式をサポートしているかなどの情報を知りたい場合はgd_info関数で確認できます。
現在使っている環境にGDがインストールされているか、どのバージョンなのか、どの画像形式をサポートしているかなどの情報を知りたい場合はgd_info関数で確認できます。
■事前準備
このページをご覧の方は、ほとんどの方が日本人だと思います。
GDを使って文字を表示するにはいくつかの方法があるのですが、imagestringでは日本語を表示できないので、imagettftext関数を使用するのが一番簡単です。
関数名のとおり、ttf、つまりTrueTypeFontを用意する必要があります。
自分のPCのTTFファイルをレンタルサーバーに転送してしまうと、ライセンス違反になるので、フリーで配布されているTTFファイルをゲットして、それをレンタルサーバーに転送して使えるようにしておきましょう。
いくつか挙げておくので、ご参考に
GDを使って文字を表示するにはいくつかの方法があるのですが、imagestringでは日本語を表示できないので、imagettftext関数を使用するのが一番簡単です。
関数名のとおり、ttf、つまりTrueTypeFontを用意する必要があります。
自分のPCのTTFファイルをレンタルサーバーに転送してしまうと、ライセンス違反になるので、フリーで配布されているTTFファイルをゲットして、それをレンタルサーバーに転送して使えるようにしておきましょう。
いくつか挙げておくので、ご参考に
■GDのリソース・インストールなど
■文字の画像化
一番簡単な例として、引数で与えられた文字を画像として出力してみましょう。
ソース
呼び出し方
表示例
ソース
$text = $_GET['text'];
$font = 'ipam.ttf'; // フォントファイルへのフルパス
header("Content-type: image/png");
$string = mb_convert_encoding($text,'UTF-8','UTF-8');
$im = imagecreatetruecolor(468,30);
$orange = imagecolorallocate($im, 220, 210, 60);
$px = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagettftext($im, 12, 0, $px, 12+9, $orange, $font, $string);
imagepng($im);
imagedestroy($im);
これを、text.phpなどの名前で作成しておきます。呼び出し方
<img src="text.php?text=%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF"></img>このようにimgタグでPHPファイル名を指定するだけです。パラメータはUTF-8でURLエンコードしています。
表示例
■PEARのImage_Graphでグラフ描画
GDの標準関数をたたいてもグラフを描画することは出来ますが、
PEARのImage_Graphを使うと、簡単にかつ見栄えのするグラフを描画することが出来ます。
PEARのImage_Graphを使うと、簡単にかつ見栄えのするグラフを描画することが出来ます。
- Image_Graphのセットアップ
パッケージ情報: Image_Graphからダウンロードするかpearコマンドで追加すればOKです。
個別インストールする場合は、パッケージ情報: Image_Colorとパッケージ情報: Image_Canvasが必要なので、あわせてレンタルサーバーに転送しておきましょう。 - マニュアル
PEARのマニュアルページにはマニュアルがないので、Image_Graph(Getting Started Guide)がマニュアルとなります。英文ですが、平易な文章で記載されているので、中学英語程度で十分読めると思います。 - サンプル
こちらもPEARマニュアルページに載っていますが、pear.veggerby.dk(Image_Graph Samples)に多数の表示サンプルがPHPサンプルコードとともに紹介されています。サンプル一覧を見ているだけでも、すげーって感じです。 - フォントの設定
まずは、フォントの設定が必要です。
設定ファイルは、Image/Canvas/Fonts/fontmap.txtです。この設定ファイル名に、フォント名とそのフォント名へのパスを記入しておけばOKです。
なお、pear.veggerby.dkのサンプルではフォント指定にVerdanaを使っていることが多いので、ソースを書き換えるのが面倒なら、
Verdana,パス/ipam.ttf
のように書いておくとサンプルソースそのままで動かせます。 - サンプルを動かしてみる
では、適当なサンプルを動かしてみます。
Source Code for Sample - Small Values on Log Axis Chart Sample に載っているソースを適当なファイルに保存してimgタグで呼び出すだけです。
こんな感じでグラフが描画できます。
単位や軸、タイトルなどを引数で指定できるようにするだけで、実用的に使えます。
もうちょい派手目のが好きなら、
こんな感じでグラフが描画できます。サンプルを少しだけいじって文字列を日本語にしてみましたが、ちゃんと表示されていますね。
■GDに関連した書籍
(データ提供:Amazon.co.jp)


