这个挺好解决的,画板上所有的图形都放在一个数组里。也就是说,每个图形是一个对象,内部有这个图形的所有信息,包括x, y, width, height等,然后操作这个数组即可完成撤销。array.pop(); array.forEach(a => a.draw()); 当然,有更简单的解决方法,给你推荐一个canvas 2d渲染库,https://www.github.com/PengJi...。这是一个canvas 2d 渲染库,体量小,功能强大,支持画图,图形绑定时间,拖拽,放大缩小等。 你的撤销需求很容易就能实现。
这个挺好解决的,画板上所有的图形都放在一个数组里。也就是说,每个图形是一个对象,内部有这个图形的所有信息,包括x, y, width, height等,然后操作这个数组即可完成撤销。
array.pop(); array.forEach(a => a.draw());
当然,有更简单的解决方法,给你推荐一个canvas 2d渲染库,https://www.github.com/PengJi...。
这是一个canvas 2d 渲染库,体量小,功能强大,支持画图,图形绑定时间,拖拽,放大缩小等。
你的撤销需求很容易就能实现。