GDグラフィック
ライブラリ(GD Graphics Library)は、トーマス・ボーテル氏らによって開発された、動的に画像を操作するための
ライブラリです。その基盤となる
プログラミング言語はANSI Cですが、PHP、
Perl、
OCaml、
Tcl、
Lua、
Pascal、
GNU Octave、
REXXなど、多岐にわたる
プログラミング言語とのインターフェースが提供されています。これにより、様々な環境でGD
ライブラリの機能を利用することが可能です。
GD
ライブラリは、GIF、
JPEG、PNG、WBMPといった一般的な画像フォーマットの生成をサポートしています。特に、GIF形式の取り扱いには歴史的な経緯があります。当初、GIF形式で利用されているLZW圧縮技術に関して、
ユニシス社が無償
ライセンスを非商業プロジェクトに提供していました。しかし、
1999年にこの
ライセンスが取り消されたため、GD
ライブラリから一時的にGIFの操作機能が削除されました。その後、
2004年7月7日に
ユニシスの特許が世界的に失効したことを受け、GD
ライブラリでは再びGIFの操作機能が実装されるに至りました。
GDという名称は元々「GIFを描く(GIF Draw)」を意味していましたが、
ユニシス社による
ライセンス取り消し後は、非公式に「グラフィックを描く(Graphics Draw)」と解釈されるようになりました。この名称の変遷は、GD
ライブラリがGIF形式だけでなく、幅広い画像処理に対応する汎用的な
ライブラリであることを示唆しています。
GD
ライブラリは、直線、円弧、テキスト(プログラムで指定されたフォントを使用)、そして他の画像と複数の色を組み合わせた
イメージの作成を可能にします。また、バージョン2.0以降では、トゥルーカラー
イメージ、アルファチャンネル、
リサンプリング(トゥルーカラー
イメージのスムーズなリサイズ)など、高度な画像処理機能が追加されました。
さらに、GD
ライブラリはコマンドラインからも利用できるプログラムflyを提供しており、これにより、どのような
プログラミング言語からでもGD
ライブラリの機能にアクセスすることができます。PHPにおいては特に広く利用されており、PHP 4.3以降のバージョンではデフォルトの拡張機能として組み込まれています。それ以前のバージョンではオプションとして提供されていました。
開発体制においては、
2007年1月4日に著名なPHP開発者であるピエール・ジョイ氏にプロジェクトの管理が引き継がれました。プロジェクトは一時的に停滞した時期もありましたが、新しい開発者によって多くの修正を含む新バージョンが発表されると期待されています。
以下は、GD
ライブラリを使用して作成された3D円グラフの例です。これはPHPのGDドキュメントに掲載されている`imagefilledarc()`関数を利用して生成されました。
関連する技術として、
ImageMagick、
Netpbm、cairoといった他の画像処理
ライブラリが挙げられます。これらの
ライブラリは、GDと同様に様々な画像処理機能を提供しており、用途に応じて使い分けられます。
GD
ライブラリに関する詳しい情報や、PHPでの利用方法については、以下の外部リンクをご参照ください。