ImagickDraw::setStrokeLineJoin()
(PECL imagick 2.0.0)
Specifies the shape to be used at the corners of paths when they are stroked
说明
ImagickDraw::setStrokeLineJoin(int $linejoin): bool
Warning本函数还未编写文档,仅有参数列表。
Specifies the shape to be used at the corners of paths(or other vector shapes)when they are stroked.
参数
- $linejoin
LINEJOIN_ constant
返回值
没有返回值。
范例
Example #1 ImagickDraw::setStrokeLineJoin()
<?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