■GDとは?

GDとは、PHP用のグラフィックライブラリです。
現在使っている環境にGDがインストールされているか、どのバージョンなのか、どの画像形式をサポートしているかなどの情報を知りたい場合はgd_info関数で確認できます。

▲ページ先頭へ戻る▲


■事前準備

このページをご覧の方は、ほとんどの方が日本人だと思います。
GDを使って文字を表示するにはいくつかの方法があるのですが、imagestringでは日本語を表示できないので、imagettftext関数を使用するのが一番簡単です。
関数名のとおり、ttf、つまりTrueTypeFontを用意する必要があります。
自分のPCのTTFファイルをレンタルサーバーに転送してしまうと、ライセンス違反になるので、フリーで配布されているTTFファイルをゲットして、それをレンタルサーバーに転送して使えるようにしておきましょう。
いくつか挙げておくので、ご参考に

▲ページ先頭へ戻る▲


■GDのリソース・インストールなど

イメージ関数(image)を参照することで、ほとんどの情報が得られます。

▲ページ先頭へ戻る▲


■文字の画像化

一番簡単な例として、引数で与えられた文字を画像として出力してみましょう。

ソース
$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を使うと、簡単にかつ見栄えのするグラフを描画することが出来ます。
  • 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)

Web Wizrds Gd Javasscript & Perl&desig&php(Steven G. Estrella,Prentice Hall College Div)



Warning: Invalid argument supplied for foreach() in /virtual/kommy/public_html/inc/func.php on line 75


Web Wizards GD Web Dsgn& Javascrpt& PHP& XHTML(,Not Avail)



Warning: Invalid argument supplied for foreach() in /virtual/kommy/public_html/inc/func.php on line 75


Dynamic Bitmap Graphics With Php and Gd(Jacek Artymiak,Jacek Artymiak)

¥ 1,996 間もなく入荷します。ご注文はお早めに。商品はご注文いただいた順番にお届けします。

Warning: Invalid argument supplied for foreach() in /virtual/kommy/public_html/inc/func.php on line 75

▲ページ先頭へ戻る▲





■お知らせと連絡先

このウェブサイトで取り上げて欲しい話題や分かりにくい点などありましたら、
以下のメールアドレス宛にメッセージをいただければ、参考にさせていただきます。

メールアドレスは、work_komiあっとまーくyahoo.co.jpです。
(「あっとまーく」は、半角英数のあっとまーくに変換してね。)

また、XBOXをお使いの方は、ゲーマータグ(akbox)にてフレンドリクエストを受け付けています。