PHP Conference Japan 2024

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
15 年前
对许多人(包括我自己)来说,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