FabricJS strokeWidth - strokeDashArray Bug?

时间:2015-10-29 09:08:23

标签: javascript html5-canvas fabricjs

我在fabricjs中画了一条虚线和一个虚线矩形,但是当line / rect设置的strokeWidth太高而无法正确绘制strokeDashArray时会出现问题。

例:
如果strokeDashArray: [10,2]strokeWidh: 1一切正常,但如果我设置strokeWidh: 5,则行/ rect不再是虚线。

我发现,设置strokeLineCap:'square'搞砸了,但我不明白为什么

小提琴 - 示例:jsfiddle

感谢任何帮助:D

2 个答案:

答案 0 :(得分:0)

asturur(contributor fabric.js)写了这样的解释:

  

没有弄乱。是方形的工作方式。你必须做中风   在"黑白之间有更多的空间"。

答案 1 :(得分:0)

从下面的屏幕截图中可以看出,线帽修改了线的视觉长度。

enter image description here

虽然虚拟长度对于每个虚拟长度是相同的,但是每一行都有一个笔画宽度/ 2个片段附加到结尾并开始。 因此,如果strokeWidth为5,另外还有2.5,那么你正在吃掉[10,2]的strokedash,其中2是破折号之间的空白区域。