The ImagickDraw::setStrokeLineJoin() function is an inbuilt function in PHP that is used to specify the shape to be used at the corners of paths when they are stroked.
Syntax:
bool ImagickDraw::setStrokeLineJoin( $linejoin )
Parameters: This function accepts a single parameter $linejoin which is used to hold the value of line join as integer type.
LINEJOIN constants:
- imagick::LINEJOIN_UNDEFINED (integer)
- imagick::LINEJOIN_MITER (integer)
- imagick::LINEJOIN_ROUND (integer)
- imagick::LINEJOIN_BEVEL (integer)
Return Value: This function does not return any value.
Below programs illustrate the ImagickDraw::setStrokeLineJoin() function in PHP:
Program 1:
PHP
<?php // require_once('path/vendor/autoload.php'); // Create an ImagickDraw object to draw into. $draw = new \ImagickDraw();
// Set the stroke opacity $draw ->setStrokeOpacity(1);
// Set the stroke color $draw ->setStrokeColor( 'Black' );
// Set the stroke opacity $draw ->setStrokeOpacity(0.8);
//Set the stroke width $draw ->setStrokeWidth(10);
// Set Stroke Line Join Parameters $draw ->setStrokeLineJoin(Imagick::LINEJOIN_ROUND);
// Set the image filled color $draw ->setFillColor( 'lightgreen' );
// Set the Stroke Miter Limit $draw ->setStrokeMiterLimit(40 * 12);
$points = [
[ 'x' => 50 * 6, 'y' => 10 * 5],
[ 'x' => 20 * 7, 'y' => 30 * 5],
[ 'x' => 60 * 8, 'y' => 50 * 5],
[ 'x' => 70 * 3, 'y' => 15 * 5],
];
// Draw the polygon $draw ->polygon( $points );
// Create new Imagick object $image = new \Imagick();
// Set the dimension of image $image ->newImage(500, 300, 'white' );
// Set the image format $image ->setImageFormat( "png" );
// Draw the image $image ->drawImage( $draw );
header( "Content-Type: image/png" );
// Display the image echo $image ->getImageBlob();
?> |
Output:
Program 2:
PHP
<?php // Create an ImagickDraw object $draw = new ImagickDraw();
// Set the Stroke Width $draw ->setStrokeWidth(1);
// Set the Stroke Color $draw ->setStrokeColor( 'black' );
// Set the image filled color $draw ->setFillColor( 'yellow' );
// Set the Stroke Width $draw ->setStrokeWidth(20);
// Declare the offset variable $offset = 220;
$lineJoinStyle = [
\Imagick::LINEJOIN_MITER,
\Imagick::LINEJOIN_ROUND,
\Imagick::LINEJOIN_BEVEL,
];
for ( $x = 0; $x < count ( $lineJoinStyle ); $x ++) {
$draw ->setStrokeLineJoin( $lineJoinStyle [ $x ]);
$points = [
[ 'x' => 40 * 5, 'y' => 10 * 5 + $x * $offset ],
[ 'x' => 20 * 5, 'y' => 20 * 5 + $x * $offset ],
[ 'x' => 70 * 5, 'y' => 50 * 5 + $x * $offset ],
[ 'x' => 40 * 5, 'y' => 10 * 5 + $x * $offset ],
];
// Draw the polygon $draw ->polyline( $points );
} // Create new Imagick object $image = new \Imagick();
// Set the image dimensions $image ->newImage(500, 700, 'white' );
// Set the image format $image ->setImageFormat( "png" );
// Draw the image $image ->drawImage( $draw );
header( "Content-Type: image/png" );
// Display the image echo $image ->getImageBlob();
?> |
Output:
Reference: http://php.net/manual/en/imagickdraw.setstrokelinejoin.php