来自 imagick_helpers.c (pecl 版本),可能的值为
LINEJOIN_UNDEFINED
LINEJOIN_MITER
LINEJOIN_ROUND
LINEJOIN_BEVEL
(PECL imagick 2, PECL imagick 3)
ImagickDraw::setStrokeLineJoin — 指定在描边路径时用于路径拐角的形状
此函数目前未记录;仅提供其参数列表。
指定在描边路径(或其他矢量形状)时用于路径拐角的形状。
不返回任何值。
示例 #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();
}
?>
来自 imagick_helpers.c (pecl 版本),可能的值为
LINEJOIN_UNDEFINED
LINEJOIN_MITER
LINEJOIN_ROUND
LINEJOIN_BEVEL
对许多人(包括我自己)来说,Rex 的注释可能不够明显。常量仅为 Imagick 类声明,因此使用它们需要这种语法:Imagick::LINEJOIN_ 常量
这是一个关于如何使用它的例子
<?php
$img = new Imagick();
$img->newImage($width, $height, new ImagickPixel('transparent'));
$draw = new ImagickDraw();
$draw->setStrokeLineJoin(Imagick::LINEJOIN_ROUND);
?>
如果您不绘制多段线而只绘制简单的线,也可以参见 setStrokeLineCap