标签: javascript html5-canvas fabricjs
我在fabricjs中画了一条虚线和一个虚线矩形,但是当line / rect设置的strokeWidth太高而无法正确绘制strokeDashArray时会出现问题。
例: 如果strokeDashArray: [10,2]和strokeWidh: 1一切正常,但如果我设置strokeWidh: 5,则行/ rect不再是虚线。
strokeDashArray: [10,2]
strokeWidh: 1
strokeWidh: 5
我发现,设置strokeLineCap:'square'搞砸了,但我不明白为什么
小提琴 - 示例:jsfiddle
感谢任何帮助:D
答案 0 :(得分:0)
asturur(contributor fabric.js)写了这样的解释:
没有弄乱。是方形的工作方式。你必须做中风 在"黑白之间有更多的空间"。
答案 1 :(得分:0)
从下面的屏幕截图中可以看出,线帽修改了线的视觉长度。
虽然虚拟长度对于每个虚拟长度是相同的,但是每一行都有一个笔画宽度/ 2个片段附加到结尾并开始。 因此,如果strokeWidth为5,另外还有2.5,那么你正在吃掉[10,2]的strokedash,其中2是破折号之间的空白区域。