如何在PHP ImageMagick中绘制虚线?

猪皮

我正在尝试使用PHP Imagick绘制虚线。这段代码产生了一条实线:

$line = new ImagickDraw();
$line->setStrokeWidth(3);
$line->setStrokeDashArray([10, 10]);
$line->line(0, 0, 100, 100);

setStrokeDashArray()似乎适用于轮廓,ImagickDraw::rectangle()但不适用于工程ImagickDraw::line()图。有没有办法画简单的虚线?

难以置信的帽子

要获得一条不带实线的漂亮虚线,请将填充颜色设置为不透明度为零(只要不透明度值为a 0实际的颜色选择就无关紧要),然后不要忘记设置一个描边颜色。

一个有效的示例(在浏览器转储中添加了调试功能):

$line = new ImagickDraw();
$line->setStrokeColor('rgb(0, 0, 0)');
$line->setFillColor('rgba(255, 255, 255, 0)');
$line->setStrokeWidth(3);
$line->setStrokeDashArray([10, 10]);
$line->line(0, 0, 100, 100);

// for debugging, output to browser:
$image = new Imagick();
$image->newImage(200, 200, 'rgb(230, 230, 230)');
$image->setImageFormat("png");
$image->drawImage($line);
header("Content-Type: image/png");
echo $image->getImageBlob();
exit;

调试输出结果:

调试输出示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章