【发布时间】:2021-11-27 00:57:43
【问题描述】:
我正在尝试使用 freeDrawingBrush 绘制一条使 x 修复的直线。
例如:
canvas.isDrawingMode = 1;
canvas.freeDrawingBrush.color = "purple";
canvas.freeDrawingBrush.width = 10;
canvas._onMouseMoveInDrawingMode = function (e) {
var pointer = canvas.getPointer(e);
pointer.x = 100;
this.freeDrawingBrush.onMouseMove(pointer);
}
这在做这项工作,但它在 mousemove 上不断绘图。我希望用户能够在 y 轴上的某个距离处(例如)x=100 绘制多条线。
更新:
我添加了以下代码:
canvas._onMouseUpInDrawingMode = function (e) {
this._isCurrentlyDrawing = false;
//canvas.selection = true;
canvas.isDrawingMode = 0;
this.freeDrawingBrush.onMouseUp();
this._handleEvent(e, 'up');
}
这会停止连续绘制,但会出现新问题。当我再次启用绘图模式并尝试绘制新行时,它还会将上一行添加到新行
【问题讨论】:
-
freedrawing 画笔中有一些代码可以让您在鼠标移动时按 shift 画一条直线。您可以查看该代码并扩展它以获得水平或垂直线
-
您能否提供有关您正在谈论的freedrawing画笔的链接...我找不到它..如果可以的话,那将是很大的帮助。谢谢
-
当前库中的主人,铅笔刷
标签: fabricjs