我在 HTML canvas 元素中创建了一个基本形状,效果很好。
当我调整画布大小时,会出现问题,画布中的所有绘图都会消失。这是正常行为吗?或者是否有一个功能可以用来阻止这个?
解决此问题的一种方法可能是在调整画布大小时再次调用绘图函数,但是如果要绘制大量内容,这可能不是很有效。
最好的办法是什么?
这是示例代码的链接https://gist.github.com/2983915 https://gist.github.com/2983915
调整大小时需要重新绘制场景。
设置画布的宽度或高度,即使您将其设置为与以前相同的值,不仅清除画布,而且重置整个画布上下文。任何设置的属性 (fillStyle
, lineWidth
、剪切区域等)也将被重置。
如果您无法从表示画布的任何数据结构中重绘场景,则始终可以通过将整个画布绘制到内存画布、设置原始宽度并绘制内存来保存整个画布本身。记忆画布回到原来的画布。
这是保存画布位图并在调整大小后将其放回的非常简单的示例:
http://jsfiddle.net/simonsarris/weMbr/ http://jsfiddle.net/simonsarris/weMbr/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)