javascript - KineticJS:何时使用 toImage() 以及何时使用 cache()

标签 javascript html canvas kineticjs

我读到,为了提高性能,您应该使用缓存。有一个 KineticJS 教程:http://www.html5canvastutorials.com/kineticjs/html5-canvas-shape-caching-with-kineticjs/它讨论了缓存,但使用了 toImage() 方法。

我找不到什么时候应该使用什么的解释。

这两种方法有什么区别,什么时候使用cache()或toImage()?有人可以提供两个例子吗?

编辑:假设您有一个包含三个形状 a、b、c 的图层。当我拖动其中一个形状时,如何缓存图层?我如何告诉 KineticJS 何时使用缓存对象?

只有这个吗:

def layer = // some layer with shape a,b,c


stage.on('dragstart', function() {
        layer.cache();

        // find the shape which is dragged.

      });

stage.on('dragend', function() {
        // ???
      });

最佳答案

myNode.cache 只是自动执行从节点创建图像对象并在重绘期间使用该图像对象的过程。

您可以通过执行 myNode.toImage 来完成相同的操作,然后使用该图像而不是 myNode。

这两种方法都可以加快绘图速度,因为复制图像像素比处理绘图命令来绘制节点要快。

关于javascript - KineticJS:何时使用 toImage() 以及何时使用 cache(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23186629/

相关文章:

JavaScript 创建日期对象 x 秒前?

javascript - 将 HTML 输入值作为 JavaScript 函数参数传递

javascript - 使用 jQuery 创建 JS 执行阻塞对话框

javascript - Canvas 到 png 不工作 fabricjs

image - 将图像从数据 URL 绘制到 Canvas

javascript - 在所有异步函数完成后执行一个函数?

html - 在 li :before pseudo-element 中添加一个换行符

python - 无法使用 SocketServer 和 BaseHTTPServer 提供本地目录中的文件

html - 如何创建不同尺寸的圆形图像

HTML5 : Image rotating around pivot, 方向错误