1

目前,对于使用 lineTo() 绘制的所有线条,我都有一个单一的 2d 上下文/画布,但我想实现一个撤消/重做功能,如果不重新绘制整个画布或保存状态(12),这是不可能的。

与其他方法相比,为绘制到堆栈上的每一行推送一个新画布是否有缺点?从时间复杂度的角度来看,撤消/重做将是 O(1) 而不是 O(n) 但我不确定是否会有其他问题。

4

1 回答 1

0

正如 ggorlen 和 Kaiido 提到的,这里的缺点是内存,就像在其他帖子中保存以前的状态一样,因为每个画布仍然占用整个画布在内存中的大小。

于 2019-12-29T04:39:31.707 回答