Record / Server Side
PHP GD (Graphics Draw) ライブラリ
PHPで画像を処理するときは、GDライブラリ(Graphics Draw)という拡張機能(関数群)を利用して画像を生成・編集・出力します。
読み込み・書き出し可能の画像の種類
PHP の GD ライブラリでは、読み込み(input)と書き出し(output)の両方に対応している画像フォーマットがあります。ただし、使用可能かどうかは PHP のビルド時に有効化された GD のオプションにも依存します。
よく使われる画像形式ごとの「読み込み対応」「書き出し対応」をまとめます。
読み込み可能な画像フォーマット(imagecreatefrom~ 系)
書き出し可能な画像フォーマット(image~ 系)
使用できるかの確認方法
サンプルプログラム
元画像(original.png)を100×100ピクセルにリサイズして、別ファイル(thumb.png)として保存するプログラム
- original.png を読み込む
- 新しく 100 x 100 pixel の画像キャンバスを作成する
- 元画像をリサイズして新しい画像に貼り付ける
- リサイズ後の画像を thumb.png として保存する
- メモリを開放する
imagecopyresampled
よくある応用
- $dst_x, $dst_y をずらすと「枠の中で画像をずらす」ことができます
- $src_x, $src_y を指定すれば「画像の一部分だけ切り取る」こともできます
- $dst_w, $dst_h を変えると「指定サイズにリサイズ」できます(アスペクト比に注意)