ImagickDraw::setStrokeLineJoin

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeLineJoin指定在路径被描边时用于拐角处的形状

描述

public ImagickDraw::setStrokeLineJoin(int $linejoin): bool
警告

此函数目前没有文档记录;只有其参数列表可用。

指定在路径(或其他矢量形状)被描边时用于拐角处的形状。

参数

linejoin

一个 LINEJOIN 常量(imagick::LINEJOIN_*)。

返回值

没有返回值。

示例

示例 #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();
}

?>

添加注释

用户贡献注释 2 注释

Rex Schrader
15 年前
来自 imagick_helpers.c(pecl 版本),可能的值是
LINEJOIN_UNDEFINED
LINEJOIN_MITER
LINEJOIN_ROUND
LINEJOIN_BEVEL
sudopeople gmail
14 年前
对于许多人(包括我自己),Rex 的注释可能不够直白。常量仅针对 Imagick 类声明,因此使用它们需要使用以下语法:Imagick::LINEJOIN_ 常量

以下是如何使用它的示例

<?php
$img
= new Imagick();
$img->newImage($width, $height, new ImagickPixel('transparent'));
$draw = new ImagickDraw();
$draw->setStrokeLineJoin(Imagick::LINEJOIN_ROUND);
?>

如果您没有绘制折线,而只是绘制简单的直线,还可以参考 setStrokeLineCap
To Top