Javascript 哪一个更好,为什么?拉斐尔JS还是HTML5画布?
我在网上找到了一个矢量库,它甚至可以与IE6一起使用 太神奇了 现在我的问题是,它比即将推出的HTML5好吗?我问这个问题的唯一原因是,微软可能要过几年才能实现一个不需要插件就能运行的应用程序 互联网上所有IE用户摆脱旧浏览器,我们甚至可以证明使用HTML5是合理的,这还需要更长的时间 我一直在坚持标准,但由于微软的浏览器开发缓慢,这项工作将花费太长时间Javascript 哪一个更好,为什么?拉斐尔JS还是HTML5画布?,javascript,vector,html,vector-graphics,Javascript,Vector,Html,Vector Graphics,我在网上找到了一个矢量库,它甚至可以与IE6一起使用 太神奇了 现在我的问题是,它比即将推出的HTML5好吗?我问这个问题的唯一原因是,微软可能要过几年才能实现一个不需要插件就能运行的应用程序 互联网上所有IE用户摆脱旧浏览器,我们甚至可以证明使用HTML5是合理的,这还需要更长的时间 我一直在坚持标准,但由于微软的浏览器开发缓慢,这项工作将花费太长时间 思想?Raphael是一个矢量图形库,使用SVG完成,而HTML5画布是位图图形 如果你想做矢量图形,我认为拉斐尔可能是一个不错的选择,而不
思想?Raphael是一个矢量图形库,使用SVG完成,而HTML5画布是位图图形 如果你想做矢量图形,我认为拉斐尔可能是一个不错的选择,而不是“仅仅”画布。正如您所说,canvas与IE不太兼容,它可能需要一段时间才能在本机上得到支持。如果拉斐尔做了你需要的,没有特别的理由不使用它 请注意,还有其他库可以实现这一点:Excanvas,它使用VML模拟IE画布(据我所知),还有一些其他库也可以使用Silverlight和Flash实现同样的功能,但我忘记了它们的名称 还有Dojo,它在一个易于使用的接口后面有一个抽象画布使用的组件,该接口还支持IE 在所有浏览器中使用本机canvas不会使库过时,因为库通常会抽象出一些画布的复杂性,从而使使用变得更简单。SVGWeb()由Google提供,这正是您想要的。它使IE与SVG兼容,SVG是标准的,所有其他主流浏览器都支持SVG。换句话说,正如谷歌所说,“使用库和本机SVG支持,您可以立即瞄准现有已安装web库的约95%。并且您可以使用在IE中实现HTML5画布标准的工具。您只需添加:
<head>
<!--[if IE]><script src="excanvas.js"></script><![endif]-->
</head>
画布和SVG之间的区别解释如下:
SVG和canvas并不是真正的
可互换技术。SVG是一种
保留模式图形的类型,其中
一切都是从一个相当复杂的角度来考虑的
抽象模型(SVG文档)。
另一方面,画布是一种
即时模式图形,哪里有
没有模型和客户端
(JavaScript)必须注意
重画、动画等
答案取决于您需要什么:
- 如果需要向图形对象添加事件处理程序:需要使用SVG。其他画布
- 如果不需要事件,性能是否重要:如果需要,则为5
请注意,IE9支持画布,与其他浏览器相比,它提供了更多的HTML5支持 正在搜索“拉斐尔vs画布”这篇文章已经5年了。从那以后有什么变化吗?拉斐尔已经过时了吗?不知何故,你没有参与这个项目,是吗?这听起来像个笑话!啊!发帖,不是问题。@T.J.不,我只是在网上找到的。我一直在等待IE赶上所有其他浏览器,这让我很沮丧。在HTML5画布中,事件也可以很容易地处理。画布本身会对点击事件做出响应;不过,您需要手动跟踪对象位置。不过,类库喜欢在这方面提供帮助,并使画布像Raphael一样易于使用。性能是最大的区别。如果要绘制多个节点,SVG的速度会降低很多。这是SVG工作方式的固有结果。HTML5画布的性能主要取决于需要重画的像素总量(宽度x高度)。@Jacco-很好的观点-如果你尝试为很多东西(例如,一个星形字段)设置动画,那么SVG真的会让事情变得一团糟-画布可以更好地处理它。