If you set the stroke width to 0, there will often still be a hairline. To remove this hairline, use transparency, f.e. using:
setStrokeColor("#00000000")
hex 0-6 = color -> black
hex 6-8 = opacity -> full transparency
PHP - Manual: ImagickDraw::setStrokeWidth
2024-12-20
(PECL imagick 2, PECL imagick 3)
ImagickDraw::setStrokeWidth — Sets the width of the stroke used to draw object outlines
$stroke_width
): bool本函数还未编写文档,仅有参数列表。
Sets the width of the stroke used to draw object outlines.
stroke_width
stroke width
没有返回值。
示例 #1 ImagickDraw::setStrokeWidth() example
<?php
function setStrokeWidth($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();
$draw->setStrokeWidth(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->line(100, 100, 400, 145);
$draw->rectangle(100, 200, 225, 350);
$draw->setStrokeWidth(5);
$draw->line(100, 120, 400, 165);
$draw->rectangle(275, 200, 400, 350);
$image = new \Imagick();
$image->newImage(500, 400, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);
header("Content-Type: image/png");
echo $image->getImageBlob();
}
?>
If you set the stroke width to 0, there will often still be a hairline. To remove this hairline, use transparency, f.e. using:
setStrokeColor("#00000000")
hex 0-6 = color -> black
hex 6-8 = opacity -> full transparency
Please note that this function only works (as in: the stroke width changes) when setStrokeColor() is called before.
官方地址:https://www.php.net/manual/en/imagickdraw.setstrokewidth.php