PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのimageellipse()関数で楕円を描画する方法を徹底解説

imageellipse()は、PHPに標準で組み込まれているGDライブラリの関数の一つで、画像上に楕円を描画するために使用されます。処理が成功した場合はtrueを返し、失敗した場合はfalseを返します。

構文

bool imageellipse($image, $cx, $cy, $width, $height, $color)

パラメータ

imageellipse()は、以下の6つのパラメータを受け取ります:$image$cx$cy$width$height$color

  • $image − 描画対象となる画像リソースを指定します。imagecreatetruecolor()などの画像作成関数が返す値を使用します。

  • $cx − 楕円の中心のX座標を設定します。

  • $cy − 楕円の中心のY座標を設定します。

  • $width − 楕円の幅をピクセル単位で設定します。

  • $height − 楕円の高さをピクセル単位で設定します。

  • $color − 楕円の線の色を指定します。imagecolorallocate()関数で作成したカラー識別子を使用します。

戻り値

楕円の描画に成功した場合はtrueを、失敗した場合はfalseを返します。

例1:黒い背景に白い楕円を描画する

<?php
    // 空の画像(キャンバス)を作成します。
    $image = imagecreatetruecolor(700, 350);

    // 背景色を黒に設定します。
    $bg = imagecolorallocate($image, 0, 0, 0);

    // 選択した色で背景を塗りつぶします。
    imagefill($image, 0, 0, $bg);

    // 楕円の色として白色を選択します。
    $col_ellipse = imagecolorallocate($image, 255, 255, 255);

    // 楕円を描画します。
    imageellipse($image, 325, 175, 500, 175, $col_ellipse);

    // 画像を出力します。
    header("Content-type: image/png");
    imagepng($image);
?>

出力結果

PHPのimageellipse()関数で楕円を描画する方法を徹底解説

例2:グレーの背景にシアンの縦長楕円を描画する

<?php
    // 空の画像(キャンバス)を作成します。
    $image = imagecreatetruecolor(700, 600);

    // 画像の背景色をグレーに設定します。
    $bg = imagecolorallocate($image, 122, 122, 122);

    // 選択した色で背景を塗りつぶします。
    imagefill($image, 0, 0, $bg);

    // 楕円の色としてシアンを設定します。
    $col_ellipse = imagecolorallocate($image, 0, 255, 255);

    // 楕円を描画します。
    imageellipse($image, 250, 300, 300, 550, $col_ellipse);

    // 画像を出力します。
    header("Content-type: image/png");
    imagepng($image);
?>

出力結果

PHPのimageellipse()関数で楕円を描画する方法を徹底解説

まとめとポイント

imageellipse()関数は、中心座標($cx、$cy)と幅・高さ($width、$height)を指定するだけで簡単に楕円を描画できる便利な関数です。塗りつぶしではなく輪郭のみを描画する点に注意してください。塗りつぶしたい場合は、代わりにimagefilledellipse()関数を使用します。

また、この関数を使用するにはサーバーにGDライブラリがインストールされている必要があります。多くのレンタルサーバーや標準的なPHP環境ではデフォルトで有効になっていますが、phpinfo()などで事前に確認しておくと安心です。

  1. PHPのimagedashedline()関数とは?破線を描画する方法を徹底解説

    PHPのimagedashedline()関数とはimagedashedline() 関数は、画像上に破線(ダッシュライン)を描画するための関数です。指定した開始点の座標から終了点の座標へ向かって、指定した色の破線を引きます。構文imagedashedline( $image , $x1 , $y1 , $x2 , $y2 , $color )パラメータimageimagecreatetruecolor() などで作成した画像リソースを指定します。x1線の始点となるx座標。y1線の始点となるy座標。x2線の終点となるx座標。y2線の終点となるy座標。color破線に使用する色。imagecol

  2. JavaとOpenCVで楕円を描画する方法|Imgproc.ellipse()の使い方を解説

    Java版OpenCVライブラリの org.opencv.imgproc パッケージには、Imgproc クラスが含まれています。画像に楕円を描画するには、このクラスが提供する ellipse() メソッドを呼び出します。 ellipse()メソッドのパラメータ ellipse() メソッドは、以下の引数を受け取ります。 Matオブジェクト:楕円を描画する対象となる画像を表します。 RotatedRectオブジェクト:回転可能な矩形を表します。楕円はこの矩形に内接する形で描画されます。 Scalarオブジェクト:描画する色をBGR形式で指定します。 int型の値:線の太さを指定します(デフォ