PHP ImageMagick:如何对行进行抗锯齿

时间:2019-04-25 07:07:00

标签: php imagemagick imagick

我遇到边缘呈锯齿状的线的问题(见白线):

enter image description here

如果我将笔划从10减少到4,就可以了,但是线条不够明显(我需要更粗的线条):

enter image description here

我设置了$canvas->setStrokeAntialias(true);,但没有帮助。如果提高图像分辨率,则需要做出更大的笔划,最终结果是相同的。我怎样才能获得一条很好的抗锯齿线,它也很粗?

这是我的代码:

$canvas = new \ImagickDraw();
$canvas->setStrokeColor($stroke_color);
$canvas->setFillColor($fill_color);
$canvas->setStrokeWidth($stroke_width);
$canvas->setStrokeAntialias(true);

$canvas->line(....);
$canvas->line(....);
$canvas->line(....);
...

编辑:我还尝试了this answer +减少了笔触,但是结果是相同的。

1 个答案:

答案 0 :(得分:2)

基于emcconville的评论,我能够通过使用polyline()绘制线条而不是许多line()调用来解决此问题。

enter image description here