Javascript绘图库?

时间:2008-09-18 20:22:23

标签: javascript graphics

有关JavaScript交互式绘图库的任何建议吗?只需要绘制线条,多边形,不同颜色的文本。 IE / Firefox / Opera / Safari兼容。

10 个答案:

答案 0 :(得分:48)

Raphael非常酷,因为它使用VML(用于MSIE)和SVG(用于其他所有内容),因此可以跨浏览器使用。

答案 1 :(得分:15)

John Resig的Processing.js是一个不错的框架。

答案 2 :(得分:7)

您可以直接使用画布对象进行2D绘制。 IE需要excanvas库。

http://developer.mozilla.org/En/Drawing_Graphics_with_Canvas

答案 3 :(得分:3)

试试http://www.walterzorn.de/en/jsgraphics/jsgraphics_e.htm。这是我发现的最好的(不使用SVG),并且在没有插件的情况下适用于大多数浏览器。

答案 4 :(得分:2)

使用canvas标签绘制文本是一件很痛苦的事。您可以选择使用绝对位于正确位置的常规div,或者查找/编写字体布局引擎(example),或者等待实现允许您绘制文本的新标准。 SVG更好地处理这个问题。

在IE中,您有ExplorerCanvas来使用IE自己的VML标记来模拟画布API。但是,本机VML可以在路径上执行文本,就像SVG一样。我认为理论上如果你想要复杂的文本处理,你需要像Dan提到的Raphael库这样的SVG和VML。

您可能还会在开始之前考虑Flash。

答案 5 :(得分:2)

如上所述,画布是你应该去的方式。 IE本身不支持它,因此您需要下载ExCanvas以确保跨浏览器兼容性。对于一些使用canvas标签的项目,我建议查看Ajaxian

答案 6 :(得分:2)

结帐jQuery Drawing plugin,您还可以查看Mozilla Canvas参考和tutorial

答案 7 :(得分:2)

另外mxGraph。这不会对IE使用excanvas。 Excanvas比使用VML慢,特别是重用相同的VML节点而不是删除,添加DOM节点进行重绘。这通常是一个被忽视的问题,但对IE性能的影响非常糟糕。

答案 8 :(得分:1)

根据您需要的跨浏览器的方式以及执行输出的目标,您可以查看Canvas元素和相关的javascript。

Canvas

答案 9 :(得分:0)

D3.js

  

D3.js是一个用于处理文档的JavaScript库   数据。 D3可帮助您使用HTML,SVG和CSS将数据变为现实。 D3的   强调Web标准为您提供现代化的全部功能   浏览器没有将自己绑定到专有框架,结合起来   强大的可视化组件和DOM的数据驱动方法   操纵。

看看这个discussion