【问题标题】:Animation SVG or Canvas?动画 SVG 还是画布?
【发布时间】:2012-03-28 04:12:17
【问题描述】:

我想知道在画布或 svg 中制作像 this 这样的动画(性能方面)是否更好?我现在在 jquery 中重写它,但我在某处读到画布每次更改时都会重新绘制。

【问题讨论】:

    标签: html animation canvas svg


    【解决方案1】:

    对于这些“简单”的动画和场景图,使用 SVG 或 Canvas 性能并不重要。两者都应该可以正常工作而没有性能问题。

    但是,与 Canvas 相比,使用 SVG 创建动画可能更容易。 在 Canvas 中,您必须重新绘制整个场景,而在 SVG 中,您只需创建一次环,然后在其上定义变换(旋转)。

    对于 SVG,请查看 d3.jsraphael,对于画布,您可以查看 processingjsfabric.jskinetic.jspaper.js

    【讨论】:

    • 当你在画布上画一个圆圈或什么东西时,是否可以在画布中添加一个事件?和 SVG?你发送的很好的例子:)
    • 在纯 Canvas 中,不可能将事件附加到任何图元/形状。您必须自己编写命中检测代码(检查鼠标位置是否在圆圈内)。然而,上面提到的画布库可能支持形状上的事件,因为它们通常有一个抽象层。 SVG 支持开箱即用的形状事件​​,这就是为什么在 SVG 中比在 Canvas 中更容易实现交互的原因。
    • 好吧,我想我将使用画布和其中一个库来添加事件。
    猜你喜欢
    • 1970-01-01
    • 2012-01-16
    • 2020-02-27
    • 1970-01-01
    • 2014-03-31
    • 2012-05-29
    • 2012-01-23
    • 1970-01-01
    • 2012-06-04
    相关资源
    最近更新 更多