From imagick_helpers.c (pecl release), possible values are:
LINEJOIN_UNDEFINED
LINEJOIN_MITER
LINEJOIN_ROUND
LINEJOIN_BEVEL
(PECL imagick 2, PECL imagick 3)
ImagickDraw::setStrokeLineJoin — Specifies the shape to be used at the corners of paths when they are stroked
This function is currently not documented; only its argument list is available.
Specifies the shape to be used at the corners of paths (or other vector shapes) when they are stroked.
No value is returned.
Example #1 ImagickDraw::setStrokeLineJoin() example
<?php
function setStrokeLineJoin($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();
$draw->setStrokeWidth(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(20);
$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->polyline($points);
}
$image = new \Imagick();
$image->newImage(500, 700, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);
header("Content-Type: image/png");
echo $image->getImageBlob();
}
?>
From imagick_helpers.c (pecl release), possible values are:
LINEJOIN_UNDEFINED
LINEJOIN_MITER
LINEJOIN_ROUND
LINEJOIN_BEVEL
For many (myself included) Rex's note maybe not be blatant enough. The constants are declared for the Imagick class only, so using them requires this syntax: Imagick::LINEJOIN_ constant
Here's an example oh how you might use it:
<?php
$img = new Imagick();
$img->newImage($width, $height, new ImagickPixel('transparent'));
$draw = new ImagickDraw();
$draw->setStrokeLineJoin(Imagick::LINEJOIN_ROUND);
?>
If you're not drawing polylines and are drawing simple lines, also see setStrokeLineCap