PHPのimageline()関数で画像に線を描画する方法を解説
imageline() は、PHPに標準で組み込まれているGDライブラリの関数のひとつで、指定した2点間に直線を描画するために使用します。動的な画像生成においてよく使われる基本的な描画関数なので、使い方をしっかり押さえておきましょう。
構文
bool imageline(resource $image, int $x1, int $y1, int $x2, int $y2, int $color)
パラメータ
imageline() 関数は、以下の6つのパラメータを受け取ります。
$image − 描画対象となる画像リソースを指定します。
$x1 − 線の始点のX座標を指定します。
$y1 − 線の始点のY座標を指定します。
$x2 − 線の終点のX座標を指定します。
$y2 − 線の終点のY座標を指定します。
$color − 線の色を指定します。imagecolorallocate() 関数で作成した色識別子を使用します。
戻り値
線の描画に成功した場合は true を、失敗した場合は false を返します。
例1:既存の画像に線を追加する
<?php
// imagecreatefrompng() 関数でPNG画像を読み込む
$img = imagecreatefrompng('C:\xampp\htdocs\test\515.png');
// 線の色を割り当てる(黄色)
$text_color = imagecolorallocate($img, 255, 255, 0);
// 線の太さを設定する
imagesetthickness($img, 5);
// imageline() 関数で線を描画する
imageline($img, 80, 300, 1140, 300, $text_color);
// 画像を出力する
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
?>
このコードでは、読み込んだPNG画像の座標 (80, 300) から (1140, 300) まで、黄色い水平線を描画しています。imagesetthickness() を併用することで、線の太さを5ピクセルに設定できます。
出力結果

例2:新規キャンバスに斜めの線を描く
<?php
// imagecreate() 関数で空の画像を作成する
$img = imagecreate(700, 300);
// 使用する色を割り当てる
$grey = imagecolorallocate($img, 122, 122, 122);
$blue = imagecolorallocate($img, 0, 0, 255);
// 線の太さを設定する
imagesetthickness($img, 15);
// グレーの下地となる線を描画する
imageline($img, 0, 0, 550, 400, $grey);
// 青い線を描画する
imageline($img, 0, 0, 550, 400, $blue);
// 画像を出力する
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
?>
この例では、700×300ピクセルの新しいキャンバスを作成し、左上の原点 (0, 0) から座標 (550, 400) へ向けて太い青い斜線を描いています。なお、imagecreate() で画像を作成する場合、最初に imagecolorallocate() で割り当てた色(ここではグレー)が自動的に背景色として適用される点にも注目してください。
出力結果

このように imageline() を使えば、わずか数行のコードで画像への線の描画が可能です。図形や簡易チャート、透かし画像の生成など、GDライブラリを活用した動的な画像処理の第一歩として、ぜひ実践してみてください。
-
PHPのimagearc()関数の使い方を徹底解説!弧の描画方法と実例コード
imagearc() 関数は、PHPのGDライブラリに含まれる描画関数の一つで、画像上に弧(アーク)を描画するために使用されます。開始角度と終了角度を指定することで、円の一部だけでなく、0度から360度まで指定すれば完全な円や楕円を描くことも可能です。 構文 imagearc( $img, $cx, $cy, $width, $height, $start, $end, $color ) パラメータ $img: 描画対象となる画像リソース。imagecreatetruecolor() などで事前に作成しておきます。 $cx: 弧の中心の x 座標。 $cy: 弧の中心の y 座標。 $wid
-
JavaとOpenCVで線を描画する方法をわかりやすく解説
Java版OpenCVライブラリのorg.opencv.imgprocパッケージには、Imgprocというクラスが含まれています。画像に直線を描画するには、このクラスが提供するline()メソッドを呼び出します。 line()メソッドのパラメータ line()メソッドは、以下のパラメータを受け取ります。 Matオブジェクト ― 直線を描画する対象となる画像を表します。 Pointオブジェクト2つ ― 直線の始点と終点の座標を表します。 Scalarオブジェクト ― 直線の色をBGR形式で指定します。 整数値 ― 直線の太さを指定します(デフォルト値:1)。 サンプルコード 以下は、白紙の画