在fabric.js中同时进行徒手绘制

时间:2013-11-12 10:04:16

标签: javascript canvas fabricjs

我正在使用fabric.js进行协作白板项目。我希望几个用户同时绘制徒手绘制路径。为此,我想我可以为每个远程用户创建一个新的PencilBrush,并通过调用PencilBrush类的onMouseDown()onMouseMove()onMouseUp()方法来模拟徒手绘图。远程用户执行这些操作。我已经创建了一个类似的东西:http://jsfiddle.net/dkostro/7sx8N/21/

它同时绘制两条路径,用户也可以同时在画布上绘制。如你所见,onMouseUp()之前从未见过其中一条路径,并且徒手绘制它并不是很漂亮。我认为问题是每个PencilBrush实例在调用_render函数之前清除了上部canvas元素,因此只有一个路径可以同时出现。

你能想出一种让它顺利运行的方法,而不必过多地使用fabric.js代码吗?我想到的一个解决方案是为每个PencilBrush设置一个单独的canvas元素,但这会弄乱fabric.js代码,并且可能不是一个干净的方法。还有其他建议吗?

修改

我已经实现了我在我的问题中一直在考虑的这个解决方案(每个用户单独的canvas元素)。 http://jsfiddle.net/stropitek/DzygL/14/。我不确定这可以扩展到多少用户,或者这是一个很好的解决方案,但在这个例子中至少看起来效果不错。

0 个答案:

没有答案