PHP | ImagickDraw setStrokeLineJoin() Function

The ImagickDraw::setStrokeLineJoin() function is an inbuilt function in PHP which 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 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:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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 Parameteres
$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();
?>

chevron_right


Output:
setstrokelinejoin

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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);
  
// Decalare 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();
?>

chevron_right


Output:
setstrokelinejoin

Reference: http://php.net/manual/en/imagickdraw.setstrokelinejoin.php



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.