ITメモ
CentOS / セントオーエス




【CentOS + PHP】「GD」ライブラリを「Httpサーバー」にインストールする方法

【CentOS + PHP】
「GD」ライブラリを「Httpサーバー」にインストールする方法




「PHP」では、 プログラムを構成して、画像を生成・編集するシステムを構築することも可能。
画像を作成したり、編集することができる「イメージ関数」は、 「GD」ライブラリをインストールすることで可能になる。










「GD」ライブラリとは


「GD」ライブラリは、PHPで、イメージ形式でイメージファイルを作成・編集したりすることができるライブラリ。

イメージ形式には、「GIF」「PNG」「JPEG」「WBMP」「XPM」などが含まれる。
使用したいイメージ形式によっては、「PHP」・「GD」ライブラリ以外にもライブラリが必要となる可能性もある。


Back





「GD」ライブラリの有効化設定方法


「GD」ライブラリを確認する
yum list | grep php-gd

出力結果
php-gd.x86_64   5.3.3-27.el6_5   updates
「GD」ライブラリが、「php-gd.x86_64」などと表示されます。
表示されたライブラリ名でインストールする。

「GD」ライブラリのインストール
yum -y install php-gd

HTTPサーバーを再起動して、「GD」ライブラリを有効化
/etc/rc.d/init.d/httpd restart

「GD」ライブラリの確認・設定完了。
下記の「phpinfo.php」ファイルを作成して、サーバーに設置して、
ブラウザでアクセスすると、PHPの設定状況が確認できます。
その中に「GD」という項目ができていれば、「GD」ライブラリのインストール完了。

「phpinfo.php」ファイル
<?php phpinfo(); ?>



Back





「GD」ライブラリがサポートするフォーマット


フォーマット読み込み書き込み説明
JPEGtruetrue-
PNGtruetrue-
GIFtruetrue-
XBMtruetrue-
XPMtruefalse-
WBMPtruetrue-
WebPtruetrue-
BMPtruetrue「GD 2.1.0」「PHP 7.2.0」以降で利用可能


Back





「GD」ライブラリの「定義済み定数」


定義済み定数解説
GD_VERSION (string) 「PHP」をコンパイルしたときの「GD」のバージョン
GD_MAJOR_VERSION (int) 「PHP」をコンパイルしたときの「GD」のメジャーバージョン
GD_MINOR_VERSION (int) 「PHP」をコンパイルしたときの「GD」のマイナーバージョン
GD_RELEASE_VERSION (int) 「PHP」をコンパイルしたときの「GD」のリリースバージョン
GD_EXTRA_VERSION (string) 「PHP」をコンパイルしたときの「GD」の "追加" バージョン (beta/rc..)
GD_BUNDLED (int) バンドルされている「GD」を使用する場合は「1」、それ以外の場合は「0」が設定。
IMG_BMP (int) imagetypes() の戻り値として使用。
IMG_GIF (int) imagetypes() の戻り値として使用。
IMG_JPG (int) imagetypes() の戻り値として使用。
IMG_JPEG (int) imagetypes() の戻り値として使用。
注意: この定数の値は IMG_JPG と同じ。
IMG_PNG (int) imagetypes() の戻り値として使用。
IMG_WBMP (int) imagetypes() の戻り値として使用。
IMG_XPM (int) imagetypes() の戻り値として使用。
IMG_WEBP (int) imagetypes() の戻り値として使用。 「PHP」7.0.10 以降で利用可能。
IMG_COLOR_TILED (int) imagecolorallocate() や imagecolorallocatealpha() で割り当てた色の代わり使用。
IMG_COLOR_STYLED (int) imagecolorallocate() や imagecolorallocatealpha() で割り当てた色の代わり使用。
IMG_COLOR_BRUSHED (int) imagecolorallocate() や imagecolorallocatealpha() で割り当てた色の代わり使用。
IMG_COLOR_STYLEDBRUSHED (int) imagecolorallocate() や imagecolorallocatealpha() で割り当てた色の代わり使用。
IMG_COLOR_TRANSPARENT (int) imagecolorallocate() や imagecolorallocatealpha() で割り当てた色の代わり使用。
IMG_AFFINE_TRANSLATE (int) アフィン変換の形式を表す定数。imageaffinematrixget() 関数が使用。
IMG_AFFINE_SCALE (int) アフィン変換の形式を表す定数。imageaffinematrixget() 関数が使用。
IMG_AFFINE_ROTATE (int) アフィン変換の形式を表す定数。imageaffinematrixget() 関数が使用。
IMG_AFFINE_SHEAR_HORIZONTAL (int) アフィン変換の形式を表す定数。imageaffinematrixget() 関数が使用。
IMG_AFFINE_SHEAR_VERTICAL (int) アフィン変換の形式を表す定数。imageaffinematrixget() 関数が使用。
IMG_ARC_ROUNDED (int) スタイル定数。imagefilledarc() 関数が使用。 注意:この定数の値は IMG_ARC_PIE と同じ。
IMG_ARC_PIE (int) スタイル定数。imagefilledarc() 関数が使用。
IMG_ARC_CHORD (int) スタイル定数。imagefilledarc() 関数が使用。
IMG_ARC_NOFILL (int) スタイル定数。imagefilledarc() 関数が使用。
IMG_ARC_EDGED (int) スタイル定数。imagefilledarc() 関数が使用。
IMG_GD2_RAW (int) タイプ変数。imagegd2() 関数が使用。
IMG_GD2_COMPRESSED (int) タイプ変数。imagegd2() 関数が使用。
IMG_EFFECT_REPLACE (int) アルファブレンディング効果。imagelayereffect() 関数で使用。
IMG_EFFECT_ALPHABLEND (int) アルファブレンディング効果。imagelayereffect() 関数で使用。
IMG_EFFECT_NORMAL (int) アルファブレンディング効果。imagelayereffect() 関数で使用。
IMG_EFFECT_OVERLAY (int) アルファブレンディング効果。imagelayereffect() 関数で使用。
IMG_EFFECT_MULTIPLY (int) アルファブレンディング効果。imagelayereffect() 関数で使用。
IMG_FILTER_NEGATE (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_GRAYSCALE (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_BRIGHTNESS (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_CONTRAST (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_COLORIZE (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_EDGEDETECT (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_GAUSSIAN_BLUR (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_SELECTIVE_BLUR (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_EMBOSS (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_MEAN_REMOVAL (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_SMOOTH (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_PIXELATE (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
IMG_FILTER_SCATTER (int) 特別な「GD」フィルタ。imagefilter() 関数で使用。
(「PHP」7.4.0 以降で使用可能)
IMAGETYPE_GIF (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JPEG (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JPEG2000 (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_PNG (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_SWF (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_PSD (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_BMP (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_WBMP (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_XBM (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_TIFF_II (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_TIFF_MM (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_IFF (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JB2 (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JPC (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JP2 (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_JPX (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_SWC (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_ICO (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。
IMAGETYPE_WEBP (int) 画像タイプ定数。image_type_to_mime_type() や image_type_to_extension() 関数で使用。 (「PHP」7.1.0 以降で利用可能)
PNG_NO_FILTER (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_FILTER_NONE (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_FILTER_SUB (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_FILTER_UP (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_FILTER_AVG (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_FILTER_PAETH (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
PNG_ALL_FILTERS (int) 特別な「PNGフィルタ」。imagepng() 関数で使用。
IMG_FLIP_VERTICAL (int) imageflip() で使用。「PHP」5.5.0 以降で使用可能。
IMG_FLIP_HORIZONTAL (int) imageflip() で使用。「PHP」5.5.0 以降で使用可能。
IMG_FLIP_BOTH (int) imageflip() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BELL (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BESSEL (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BILINEAR_FIXED (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BICUBIC (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BICUBIC_FIXED (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BLACKMAN (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BOX (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_BSPLINE (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_CATMULLROM (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_GAUSSIAN (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_GENERALIZED_CUBIC (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_HERMITE (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_HAMMING (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_HANNING (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_MITCHELL (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_POWER (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_QUADRATIC (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_SINC (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_NEAREST_NEIGHBOUR (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_WEIGHTED4 (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。
IMG_TRIANGLE (int) imagesetinterpolation() で使用。「PHP」5.5.0 以降で使用可能。


Back





「GD」ライブラリとImage関数


「GDライブラリ」と「Image関数」の一覧

関数説明
gd_info現在インストールされているGDライブラリに関する情報を取得。
getimagesize画像の大きさを取得。
getimagesizefromstring画像の大きさを文字列から取得。
image_type_to_extension画像形式からファイルの拡張子を取得。
image_type_to_mime_typegetimagesize, exif_read_data, exif_thumbnail, exif_imagetypeから返される 画像形式のMIMEタイプを取得。
image2wbmp画像をブラウザあるいはファイルに出力。
imageaffine元の画像を、オプションのクリッピング領域を使ってアフィン変換した画像を返す
imageaffinematrixconcat二つのアフィン変換行列を連結する
imageaffinematrixgetアフィン変換行列を取得。
imagealphablendingイメージのブレンドモードを設定。
imageantialiasアンチエイリアス機能を使用すべきかどうかを判断。
imagearc部分楕円を描画。
imageavif画像をブラウザあるいはファイルに出力。
imagebmpビットマップ画像をブラウザかファイルに出力。
imagechar水平に文字を描画。
imagecharup垂直に文字を描画。
imagecolorallocate画像で使用する色を作成。
imagecolorallocatealpha画像で使用する色を透過度を指定して作成。
imagecoloratピクセルの色のインデックスを取得。
imagecolorclosest指定した色に最も近い色のインデックスを取得。
imagecolorclosestalpha指定した色+アルファ値に最も近い色のインデックスを取得。
imagecolorclosesthwb色合い、白、黒を有する色のインデックスを得る
imagecolordeallocateイメージの色リソースを開放する
imagecolorexact指定した色のインデックスを取得。
imagecolorexactalpha指定した色+アルファ値のインデックスを取得。
imagecolormatchパレットイメージの色を True カラーイメージに近づける
imagecolorresolve指定した色または出来るだけ近い色のインデックスを得る
imagecolorresolvealpha指定した色+アルファ値または最も近い色のインデックスを取得。
imagecolorset指定したパレットインデックスの色を設定。
imagecolorsforindexカラーインデックスからカラーを取得。
imagecolorstotal画像パレットの色数を検出。
imagecolortransparent透明色を定義。
imageconvolutiondiv および offset の係数を使用し、3x3 の畳み込み配列を適用する
imagecopy画像の一部をコピーする
imagecopymergeイメージの一部をコピー、マージする
imagecopymergegrayグレースケールでイメージの一部をコピー、マージする
imagecopyresampled再サンプリングを行いイメージの一部をコピー、伸縮する
imagecopyresized画像の一部をコピーしサイズを変更する
imagecreateパレットを使用する新規画像を作成。
imagecreatefromavif新しい画像をファイルあるいは URL から作成。
imagecreatefrombmp新しい画像をファイルあるいは URL から作成。
imagecreatefromgd2GD2 ファイルまたは URL から新規イメージを生成。
imagecreatefromgd2partGD2 ファイルまたは URL の指定した部分から新規イメージを生成。
imagecreatefromgdGD ファイルまたは URL から新規イメージを生成。
imagecreatefromgif新しい画像をファイルあるいは URL から作成。
imagecreatefromjpeg新しい画像をファイルあるいは URL から作成。
imagecreatefrompng新しい画像をファイルあるいは URL から作成。
imagecreatefromstring文字列の中のイメージストリームから新規イメージを作成。
imagecreatefromtga新しい画像をファイルあるいは URL から作成。
imagecreatefromwbmp新しい画像をファイルあるいは URL から作成。
imagecreatefromwebp新しい画像をファイルあるいは URL から作成。
imagecreatefromxbm新しい画像をファイルあるいは URL から作成。
imagecreatefromxpm新しい画像をファイルあるいは URL から作成。
imagecreatetruecolorTrueColor イメージを新規に作成。
imagecrop指定した矩形に画像をクロップ。
imagecropauto利用可能なモードを指定して、画像を自動的にクロップ。
imagedashedline破線を描画。
imagedestroy画像を破棄。
imageellipse楕円を描画。
imagefill塗り潰す
imagefilledarc楕円弧を描画し、塗りつぶす
imagefilledellipse塗りつぶされた楕円を描画。
imagefilledpolygon塗りつぶした多角形を描画。
imagefilledrectangle塗りつぶした矩形を描画。
imagefilltoborder特定色で塗りつぶす
imagefilter画像にフィルタを適用。
imageflip指定したモードで画像を反転させる
imagefontheightフォントの高さを取得。
imagefontwidthフォントの幅を取得。
imageftbboxfreetype2 によるフォントを用いたテキストを囲む箱を取得。
imagefttextFreeType 2 によるフォントを用いてイメージにテキストを描画。
imagegammacorrectGD イメージにガンマ補正を適用。
imagegd2GD2 イメージをブラウザまたはファイルに出力。
imagegdGD イメージをブラウザまたはファイルに出力。
imagegetclip長方形を切り取り、画像として取得。
imagegetinterpolation補間方法を取得。
imagegif画像をブラウザあるいはファイルに出力。
imagegrabscreen画面全体をキャプチャ。
imagegrabwindowウィンドウをキャプチャ。
imageinterlaceインターレースを有効もしくは無効に。
imageistruecolor画像が truecolor かどうか調べる
imagejpeg画像をブラウザあるいはファイルに出力。
imagelayereffectアルファブレンディングフラグを設定し、レイヤ効果を使用。
imageline直線を描画。
imageloadfont新しいフォントを読み込む
imageopenpolygonオープンポリゴンを描画。
imagepalettecopyあるイメージから他のイメージにパレットをコピー。
imagepalettetotruecolorパレット形式の画像を true color に変換。
imagepngPNG イメージをブラウザまたはファイルに出力。
imagepolygon多角形を描画。
imagerectangle矩形を描画。
imageresolution画像の解像度を取得/設定。
imagerotate指定された角度で画像を回転。
imagesavealphaPNG 画像を保存。際に、完全なアルファチャネル情報を保存。かどうかを指定。
imagescale幅と高さを指定して、画像の縮尺を変更。
imagesetbrush線の描画用にブラシイメージを設定。
imagesetclip切り取る長方形を設定。
imagesetinterpolation補間方法を設定。
imagesetpixel点を生成。
imagesetstyle線描画用のスタイルを設定。
imagesetthickness線描画用の線幅を設定。
imagesettile塗りつぶし用のイメージを設定。
imagestring文字列を水平に描画。
imagestringup文字列を垂直に描画。
imagesx画像の幅を取得。
imagesy画像の高さを取得。
imagetruecolortopaletteTrueColor イメージをパレットイメージに変換。
imagettfbboxTypeType フォントを使用したテキストの bounding box を生成。
imagettftextTrueType フォントを使用してテキストを画像に書き込む
imagetypesこの PHP がサポートしている画像形式を返す
imagewbmp画像をブラウザあるいはファイルに出力。
imagewebpWebP 画像をブラウザあるいはファイルに出力。
imagexbmXBM 画像をブラウザあるいはファイルに出力。
iptcembedバイナリ IPTC データを JPEG イメージに埋めこむ
iptcparseバイナリの IPTC ブロックのタグをパース。
jpeg2wbmpJPEG画像をWBMP画像に変換。
png2wbmpPNG画像をWBMP画像に変換。
  
GdImageGdImage クラス
GdFontGdFont クラス


Back