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
(PECL imagick 2, PECL imagick 3)
ImagickDraw::setStrokeWidth — オブジェクトの枠線の描画に使用する線の幅を設定する
この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。
オブジェクトの枠線の描画に使用する線の幅を設定します。
stroke_width
線の幅。
値を返しません。
例1 ImagickDraw::setStrokeWidth() の例
<?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.