PHPのimagechar()関数の使い方を徹底解説!文字を水平描画する方法とサンプルコード
imagechar()関数とは
PHPのimagechar()関数は、GDライブラリが提供する関数の一つで、指定した画像上に文字を水平方向(左から右)に描画します。動的に生成した画像へテキストを追加したい場合などに活用できます。
構文
bool imagechar( img, font, x, y, ch, color )
パラメータ
img:imagecreatetruecolor()やimagecreate()で作成した画像リソース。
font:フォントサイズ。1〜5までの組み込みフォント番号を指定し、数字が大きいほど大きな文字で表示されます。
x:描画を開始する位置のx座標。
y:描画を開始する位置のy座標。
ch:描画したい文字列。
color:imagecolorallocate()で作成した色識別子。
戻り値
imagechar()関数は、描画に成功した場合はTRUEを、失敗した場合はFALSEを返します。
使用例
以下は、imagechar()関数を使って画像に文字を描画する基本的なサンプルコードです。
<?php
$img = imagecreate(400, 300);
$str = 'Demo';
$bgcolor = imagecolorallocate($img, 30, 80, 70);
$textcolor = imagecolorallocate($img, 255, 255, 255);
imagechar($img, 80, 100, 90, $str, $textcolor);
header('Content-type: image/png');
imagepng($img);
?>
出力結果
上記のコードを実行すると、次のような画像が出力されます。

別の使用例
続いて、異なるキャンバスサイズ・座標・色を指定して文字を描画する例を見てみましょう。パラメータの値を変えるだけで、同じ関数でもさまざまな見た目の画像を生成できることがわかります。
<?php
$img = imagecreate(350, 270);
$str = 'Example';
$bgcolor = imagecolorallocate($img, 70, 100, 130);
$textcolor = imagecolorallocate($img, 200, 195, 210);
imagechar($img, 100, 50, 70, $str, $textcolor);
header('Content-type: image/png');
imagepng($img);
?>
出力結果
上記のコードを実行すると、次のような画像が出力されます。

補足
imagechar()は文字を水平方向に描画する関数ですが、垂直方向に描画したい場合はimagecharup()関数を使用します。また、TrueTypeフォントを使ってより自由なデザインのテキストを描画したい場合は、imagettftext()関数が便利です。
-
PHPのimagefilledrectangle()関数の使い方 – 塗りつぶし矩形を描画する方法
PHPのimagefilledrectangle()関数は、指定した座標をもとに、色で塗りつぶされた矩形(長方形)を画像上に描画するためのGDライブラリ関数です。図形の作成やグラフィック処理などでよく利用されます。構文imagefilledrectangle( $img, $x1, $y1, $x2, $y2, $color )パラメータimgimagecreatetruecolor() などで作成した画像リソースを指定します。x1矩形の1つ目の頂点(始点)のX座標を指定します。y1矩形の1つ目の頂点(始点)のY座標を指定します。x2矩形の2つ目の頂点(対角の終点)のX座標を指定します。y2矩
-
PHPのimagefilledellipse()関数とは?塗りつぶし楕円の描画方法を解説
PHPのimagefilledellipse()関数は、指定した座標を中心として塗りつぶしのある楕円を描画するために使用されるGDライブラリの関数です。図形描画や画像生成を行う際に非常に便利な関数の一つです。 構文 imagefilledellipse( $img, $cx, $cy, $width, $height, $color ) パラメータ img:imagecreatetruecolor()関数などで作成した画像リソースを指定します。この画像に対して楕円が描画されます。 cx:楕円の中心のX座標(横方向の位置)を指定します。 cy:楕円の中心のY座標(縦方向の位置)を指定します。