PHP Conference Nagoya 2025

imagesetbrush

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagesetbrush線の描画用にブラシイメージを設定する

説明

imagesetbrush(GdImage $image, GdImage $brush): bool

imagesetbrush() は、特別な色 IMG_COLOR_BRUSHED または IMG_COLOR_STYLEDBRUSHED で描画される際に (imageline()imagepolygon() のような) 全ての線描画関数で使用されるブラシイメージを設定します。

警告

ブラシの使用が終った際には特別な処理は不要ですが、 ブラシイメージを破棄する(もしくは、PHPに破棄させる)場合には、新たにブラシイメージを設定するまでは、 色 IMG_COLOR_BRUSHED または IMG_COLOR_STYLEDBRUSHED を使用するべきではありません。

パラメータ

image

imagecreatetruecolor()のような画像作成関数が返す GdImage オブジェクト。

brush

画像オブジェクト。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.0.0 imagebrush は、 GdImage クラスのインスタンスを期待するようになりました。 これより前のバージョンでは resource を期待していました。

例1 imagesetbrush() の例

<?php
// 小さい php ロゴを読み込みます
$php = imagecreatefrompng('./php.png');

// 100x100 のメイン画像を作成します
$im = imagecreatetruecolor(100, 100);

// 背景を白で塗りつぶします
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// ブラシを設定します
imagesetbrush($im, $php);

// いくつかのブラシを重ねます
imageline($im, 50, 50, 50, 60, IMG_COLOR_BRUSHED);

// 画像をブラウザに出力します
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($php);
?>

上の例の出力は、 たとえば以下のようになります。

出力例 : imagesetbrush()

add a note

User Contributed Notes 1 note

up
0
brent at ebrent dot net
18 years ago
Use a brush to create a thick line.

To create a 3x3 red brush:

<?php
$brush_size
= 3;
$brush = imagecreatetruecolor($brush_size,$brush_size);
$brush_color = imagecolorallocate($brush,255,0,0);
imagefill($brush,0,0,$brush_color);
imagesetbrush($im,$brush);
?>

Then use imageline() or imagepolygon() with IMG_COLOR_BRUSHED as the color.

To stop using the brush, destroy it:

<?php imagedestroy($brush); ?>

The brush can also be created from an existing image.
To Top