ImagickDraw::setStrokeLineJoin
(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();
}
?>
+add a note
User Contributed Notes 2 notes
Rex Schrader ¶
15 years ago
From imagick_helpers.c (pecl release), possible values are:
LINEJOIN_UNDEFINED
LINEJOIN_MITER
LINEJOIN_ROUND
LINEJOIN_BEVEL
sudopeople gmail ¶
15 years ago
For many (myself included) Rex's note maybe not be blatant enough. The constants are declared for the Imagick class only, so using them requires this syntax: Imagick::LINEJOIN_ constant
Here's an example oh how you might use it:
<?php
$img = new Imagick();
$img->newImage($width, $height, new ImagickPixel('transparent'));
$draw = new ImagickDraw();
$draw->setStrokeLineJoin(Imagick::LINEJOIN_ROUND);
?>
If you're not drawing polylines and are drawing simple lines, also see setStrokeLineCap