发现一个会导致HTML5 canvas的save和restore失效的情况 saverestorecanvasjavascript
程序员文章站
2024-01-09 09:42:34
...
今天写代码出了一点bug,结果是canvas的save和restore失效。
检查了半天也没看出save和restore哪里有问题。最后发现问题根本不在这里。
原因是image_对象出错,不能被正确读取。修改了bug之后,然后我又故意设置drawImage的第一个参数为null,果然问题又重新出现了。
三大浏览器反应都是这样的。有兴趣的可以去试试。
很奇怪这个为什么会导致canvas保存不了状态。
记录下这个奇怪的问题。
ctx.save(); ctx.translate(pos_.x(), pos_.y()); ctx.rotate(angle_); ctx.drawImage(image_, -width_ / 2, -height_ / 2, width_, height_); ctx.restore();
检查了半天也没看出save和restore哪里有问题。最后发现问题根本不在这里。
原因是image_对象出错,不能被正确读取。修改了bug之后,然后我又故意设置drawImage的第一个参数为null,果然问题又重新出现了。
三大浏览器反应都是这样的。有兴趣的可以去试试。
很奇怪这个为什么会导致canvas保存不了状态。
记录下这个奇怪的问题。