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 則註解

1
Rex Schrader
15 年前
從 imagick_helpers.c (pecl 發行版) 來看,可能的值為
LINEJOIN_UNDEFINED
LINEJOIN_MITER
LINEJOIN_ROUND
LINEJOIN_BEVEL
0
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