(PHP 4, PHP 5, PHP 7)
imagefilltoborder — 特定色で塗りつぶす
$image
, int $x
, int $y
, int $border
, int $color
)
imagefilltoborder()は、
border
で指定した色を境界色として塗りつぶし
を行います。(x
,y
)が
塗りつぶしの始点(左上が0, 0)で、領域内を
color
色で塗りつぶします。
image
imagecreatetruecolor() のような画像作成関数が返す画像リソース。
x
開始位置の x 座標。
y
開始位置の y 座標。
border
境界色。 imagecolorallocate() で作成した色 ID です。
color
塗りつぶし色。 imagecolorallocate() で作成した色 ID です。
成功した場合に TRUE
を、失敗した場合に FALSE
を返します。
例1 楕円の塗りつぶし
<?php
// 画像ハンドルを作成し、背景を白に設定します
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));
// 黒い線で楕円を描画します
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));
// 枠線と塗りつぶしの色を設定します
$border = imagecolorallocate($im, 0, 0, 0);
$fill = imagecolorallocate($im, 255, 0, 0);
// 選択した部分を塗りつぶします
imagefilltoborder($im, 50, 50, $border, $fill);
// 出力し、メモリを開放します
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
上の例の出力は、 たとえば以下のようになります。