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.
imagesetbrush
(PHP 5 >= 5.5.0)
imagesetbrush — Set the brush image for line drawing
Description
$image
, resource $brush
)
imagesetbrush() sets the brush image to be
used by all line drawing functions (such as imageline()
and imagepolygon()) when drawing with the special
colors IMG_COLOR_BRUSHED or
IMG_COLOR_STYLEDBRUSHED.
Parameters
-
image -
An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().
-
brush -
An image resource.
Return Values
Returns TRUE on success or FALSE on failure.
Examples
Example #1 imagesetbrush() example
<?php
// Load a mini php logo
$php = imagecreatefrompng('./php.png');
// Create the main image, 100x100
$im = imagecreatetruecolor(100, 100);
// Fill the background with white
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 299, 99, $white);
// Set the brush
imagesetbrush($im, $php);
// Draw a couple of brushes, each overlaying each
imageline($im, 50, 50, 50, 60, IMG_COLOR_BRUSHED);
// Output image to the browser
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
imagedestroy($php);
?>
The above example will output something similar to:
Notes
Note:
You need not take special action when you are finished with a brush, but if you destroy the brush image, you must not use the
IMG_COLOR_BRUSHEDorIMG_COLOR_STYLEDBRUSHEDcolors until you have set a new brush image!
