哪个更好?为什么? RaphaelJS或HTML5 Canvas?

时间:2009-09-17 21:24:39

标签: javascript vector html5 vector-graphics

我在互联网上找到了一个甚至适用于IE6的矢量库!

http://raphaeljs.com/index.html

太棒了。

现在我的问题是它比即将推出的HTML5< canvas>?更好我问的唯一原因是,在Microsoft实现< canvas>之前可能还需要几年的时间。它不需要一个插件来运行它。

在互联网上的所有IE用户摆脱他们的旧浏览器之后,它甚至会更长,这样我们甚至可以证明使用HTML5< canvas>。

我只是坚持标准,但由于MS的浏览器开发速度缓慢,这个问题需要花费太长时间。

思想?

5 个答案:

答案 0 :(得分:20)

Raphael是一个矢量图形库,使用SVG完成,而HTML5 canvas是位图图形。

如果你想做矢量图形,我认为与Raphael合作可能是“仅仅”画布的一个很好的选择。正如你所说,canvas并不适用于IE,它可能需要一段时间才能得到本机支持。如果拉斐尔做了你需要的,没有特别的理由不使用它。

请注意,还有其他的库:Excanvas,使用VML模拟IE的画布(据我所知),还有一些其他人使用Silverlight和Flash做同样的事情,但我忘记了他们的名字。 / p>

还有Dojo,它有一个用于在易于使用的界面后面抽象画布用法的组件,它也支持IE。

在所有浏览器中使用本机画布不会使库过时,因为库通常会抽象出一些画布复杂性,使用起来更容易。

答案 1 :(得分:5)

Google的SVGWeb(http://code.google.com/p/svgweb/)就是您想要的。它使IE兼容SVG,这是标准,并且所有其他主流浏览器已经支持。换句话说,正如谷歌所说,“使用库加上本机SVG支持,您可以立即锁定现有已安装网站的约95%。”

答案 2 :(得分:5)

您可以使用http://code.google.com/p/explorercanvas/在IE中实现HTML5 Canvas Standard。你所要做的就是添加:

<head>
<!--[if IE]><script src="excanvas.js"></script><![endif]-->
</head>

Canvas和SVG之间的区别解释如下:

  

SVG和画布并不是真的   可互换的技术。 SVG是一个   保留模式图形的类型在哪里   一切都是从一个相当的   抽象模型(SVG文档)。   另一方面画布是一种   立即模式图形,在那里   没有模特和客户   (JavaScript)必须照顾   重绘,动画等。

答案 3 :(得分:4)

答案取决于您的需求:

  • 如果需要向图形对象添加事件处理程序:您需要使用SVG。 Else Canvas。

  • 如果不需要任何事件则性能很重要:如果是,则Canvas 5。

请注意,与其他浏览器相比,IE 9支持Canvas并提供更多HTML 5支持!

答案 4 :(得分:-1)

正在寻找“raphael vs canvas”这里的帖子是5岁。从那时起有什么特权吗?是raphael obsolet吗?