Yog*_*wal 13 javascript html5 canvas html5-canvas
我在HTML canvas元素中创建了一个基本形状,工作正常.
当我调整画布大小时,画布中的所有绘图都消失了.这是正常行为吗?或者是否有可用于阻止此功能的功能?
解决这个问题的一种方法是在canvas调整大小上再次调用绘图函数,但是如果要绘制大量内容,这可能效率不高.
什么是最好的方式?
以下是示例代码https://gist.github.com/2983915的链接
Sim*_*ris 20
调整大小时需要重绘场景.
设置画布的宽度或高度,即使您将其设置为与以前相同的值,也不仅会清除画布,还会重置整个画布上下文.任何设置属性(fillStyle,lineWidth裁剪区域等)也将被重置.
如果您无法从表示画布的任何数据结构中重绘场景,则可以始终通过将整个画布绘制到内存中的画布,设置原始宽度以及绘制内容来保存整个画布.内存画布回到原始画布.
这是保存画布位图并在调整大小后将其放回的一个非常快速的示例:
http://jsfiddle.net/simonsarris/weMbr/
| 归档时间: |
|
| 查看次数: |
11043 次 |
| 最近记录: |