imagesetbrush
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagesetbrush — 線の描画用にブラシイメージを設定する
説明
imagesetbrush() は、特別な色
IMG_COLOR_BRUSHED
または
IMG_COLOR_STYLEDBRUSHED
で描画される際に
(imageline() や
imagepolygon() のような)
全ての線描画関数で使用されるブラシイメージを設定します。
警告
ブラシの使用が終った際には特別な処理は不要ですが、
ブラシイメージを破棄する(もしくは、PHPに破棄させる)場合には、新たにブラシイメージを設定するまでは、
色 IMG_COLOR_BRUSHED
または
IMG_COLOR_STYLEDBRUSHED
を使用するべきではありません。
変更履歴
バージョン | 説明 |
---|---|
8.0.0 |
image と
brush は、
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);
?>
上の例の出力は、 たとえば以下のようになります。
+add a note
User Contributed Notes 1 note
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.