有没有办法在后台访问 HTMLCanvas元素DrawingContext2D save和restore堆栈?
目的是为了save一个基本状态,clip它的一个区域,允许一些操作发生,这些操作可能适用clip于不确定的顺序(即save,restore可能有save2-3 个状态到堆栈并且永远不会恢复它们,或者它可能会restore多次,并且save在返回父函数之前丢失原始状态,然后父函数将尝试进入restore堆栈中不再存在的状态。)
我宁愿在没有包装类的情况下执行此操作,DrawingContext2D因为 JavaScript 在每个函数调用时都会变慢一些,并且渲染往往是时间敏感的。
能够限制被restore调用函数中可能的调用次数而不依赖被调用函数来维持该限制也很棒。