【发布时间】:2020-11-19 19:43:26
【问题描述】:
我有一个应用程序(基于 fabric.js 3.4),它允许用户通过滑块实时调整 SVG(组或多边形)的 strokeWith。然而,这似乎打破了形象。因此,例如,如果我有一个笑脸的 SVG(组),其中有 2 个圆圈(笔划)用于眼睛、一个笔划嘴巴和外圈——更新滑块以增加笔划宽度,使图像变形,使眼睛等开始重叠/移动(即不作为一个单元/图像一起缩放)或者,图像“闪烁” - 随着滑块的移动消失/重新出现。
用于更新的代码是:
var value = //get value from slider widget
var obj = canvas.getActiveObject();
if (obj && obj.type == "group") {
for (i = 0; i < obj._objects.length; i++) {
if (obj._objects[i]) {
obj._objects[i].set({ strokeWidth: value });
}
}
} else if (obj && obj.type == "polygon") {
obj.set({ strokeWidth: value });
}
canvas.renderAll();
这是错误的做法吗? 任何帮助将不胜感激。
【问题讨论】:
标签: javascript svg fabricjs stroke