在使用fabric Canvas绘制图像的时候,常常需要更新画布的内容,于是需要清空之前绘制的内容,并使画布回到原始的状态(如果你使用了拖拽或者放大的功能),只需要执行

canvas.clear(); // 清空画布

如果你画布上的某个元素处于选中状态,则需要

canvas.remove(canvas.getActiveObject());

来移除该元素,最后需要做的就是将画布的视窗回到初始化状态

canvas.setViewportTransform([1, 0, 0, 1, 0, 0]);

其实通过zoomToPoint以鼠标中心缩放画布是通过重新计算视口然后transform变换来达到的,而以上矩阵则是视口矩阵的初始值