来自 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