用fabricjs模拟自由绘图
Emulate free drawing with fabricjs
我正在开发具有白板的应用程序。Whiteboard应该像idroo.com一样工作。一个用户正在绘制一些东西,另一个用户应该能够在他的浏览器上实时看到它。我使用fabricjs作为帆布包装,它有我需要的一切。但我无法模仿在画布上自由绘画。我将鼠标位置和笔刷选项发送到远程客户端,并尝试通过触发鼠标移动事件来渲染它们。但这行不通。如果有人有类似的问题,你能帮忙吗?
canvasContainer.on('mousemove', function (e) {
var left = canvasContainer.offset().left;
var top = canvasContainer.offset().top;
var x = e.pageX - left;
var y = e.pageY - top;
//Send data to remote browser by socket.io or signalr
//I need to draw on remote browser by these x and y coordinates.
updateCursor(_connections, x, y);
});
你可以这样做:
var brush = new fabric.PencilBrush(canvas);
var points = [[10,10], [20,20], [25,70],[100,300]];
brush.onMouseDown({x:points[0][0], y:points[0][1]});
for(var i=1;i<points.length;i++) {
brush.onMouseMove({x:points[i][0], y:points[i][1]});
}
见柱塞:https://plnkr.co/edit/V1c1xkB29tgB2ha99CRQ?p=preview
你可以简化计算x和坐标的代码,这样做:
var point = canvas.getPointer(e);
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- Html画布自由转换
- HTML画布在绘图后立即擦除矩形
- 如何在JS Leatflet绘图插件中获取圆的坐标
- 在一个页面中具有多个捕捉绘图和捕捉内容
- SVG手写字母绘图动画
- 绘图悬停文本未显示
- 为画布绘图添加鼠标事件
- 如何强制绘图将x轴编号显示为类别
- 绘图应用程序-单击工具更改光标
- 如何使用拉斐尔自由变换翻转图像
- 重置transform:rotate(),方法是移除并追加在追加和重绘图表后未显示数据的画布
- 如何禁用自由形式的用户输入只允许下拉
- Highcharts多个Y轴绘图带碰撞
- 如何避免在自由jqgrid中单击单元格进行水平滚动编辑
- 如何使用画布和javascript使绘图移动
- highcharts IE8重绘图表问题
- OpenOffice绘图:增强的几何图形解析
- 谷歌地图上的自由形式绘图
- 用fabricjs模拟自由绘图