はじめに

PHPができることは、HTML出力を生成することだけではありません。PHP は、多くの異なるイメージ形式でイメージファイルを作成したり、操作 したりすることもできます。このイメージ形式には、GIF, PNG, JPEG, WBMP および XPM が含まれます。 さらに便利なことに、PHPはイメージストリームを直接ブラウザに出力することができます。 イメージ関数を使用するには、PHP を GD ライブラリとともにコンパイルしなければなりません。 使用したいイメージ形式によっては、GD と PHP 以外に他のライブラリも必要となる可能性があります。

PHPのイメージ関数により JPEGGIFPNGSWFTIFFJPEG2000イメージの 大きさを知ることができます。

exif 拡張モジュール を使用すると、 JPEGTIFF 画像のヘッダに保存された情報を扱うことができます。 これにより、デジタルカメラが作成したメタデータを読み込むことができます。 exif 関数は GD ライブラリを必要としません。

注意: イメージの読み込み、書き込み、修正の機能を拡張するには、 要求の節を呼んでください。 デジタルカメラで撮影した画像のメタデータを読み込むには、 上で説明した exif 拡張モジュール が必要です。

注意: getimagesize() 関数は、GD 拡張モジュールを必要としません。

警告

While the bundled version of the GD library uses the Zend memory manager to allocate memory, system versions do not, so that memory_limit does not apply.

GD はさまざまなフォーマットに対応しています。 GD がサポートするフォーマットの一覧と、読み書きの対応状況を含めた注意をまとめました。

GD がサポートするフォーマット
フォーマット 読み込みのサポート 書き込みのサポート 注意
JPEG TRUE TRUE  
PNG TRUE TRUE  
GIF TRUE TRUE GD 2.0.28 および PHP 5.0.1 以降で利用可能です
XBM TRUE TRUE  
XPM TRUE FALSE Windows 版での読み込みのサポートは PHP 5.3.19 で追加されました
WBMP TRUE TRUE  
WebP TRUE TRUE PHP 5.5+
BMP TRUE TRUE GD 2.1.0 および PHP 7.2.0 以降で利用可能です

ほとんどのフォーマットは読み書きの両方に対応していますが、 PHP をコンパイルするときにそのフォーマットのサポートを組み込んでいるとは限りません。 GD でどのフォーマットを使えるようにコンパイルしたのかを調べるには gd_info() 関数を使いましょう。 コンパイル時の設定については、インストール方法のページを参照ください。