3

我正在开发一个绘制一些运营指标的新网站。因此,网站上将显示大约十几个图表/图形。我希望能够让它们根据浏览器的大小动态缩小(在合理范围内)。

我正在讨论将这些作为以下选项之一生成的利弊:

  1. SVG。非常适合扩展,但可能支持有限,
  2. HTML5 . 对于未来和 FF 客户来说,IE 显然是一个不错的选择?
  3. .PNG _ 这需要我根据 DIV &c 的大小重新生成 PNG。

哪个是更可取的选择?我倾向于 PNG 只是为了提供无处不在的支持,但希望有客户端扩展。考虑到浏览器中 SVG 和 HTML5 画布支持的现状,最好的解决方案是什么?

4

7 回答 7

4

你可能比探索一个新的图表库做得更糟:http: //g.raphaeljs.com/

一开始你不会相信的。

于 2009-11-13T19:49:47.923 回答
4

对于图表,我更喜欢 SVG 而不是 HTML5 画布或 PNG。画布和 PNG 在 Firefox 中缩放为位图。(Canvas 提供了一个矢量 API,但它是一个可绘制的位图表面——不是一个矢量存储。) SVG 在 Firefox 中缩放为矢量图形。

我经常在视图缩放的情况下运行,所以我很欣赏真正的矢量缩放。

(Canvas 对于无法处理保留模式图形的性能命中的游戏很有意义。)

于 2009-11-19T09:21:10.927 回答
3

现在您可以在任何地方使用 SVG

于 2009-11-09T18:54:42.857 回答
3

所有现代浏览器都支持 SVG。所有现代浏览器都支持 Canvas。Internet Explorer 都不支持。Raphaël (raphaeljs.com) 中存在 SVG 的部分 API,以及 IE 的回退机制ExCanvas中存在 IE 的部分 Canvas 实现

我想说这不是“Canvas 或 SVG”的问题,而是存在哪些高级库最能满足您的需求。

于 2009-11-09T20:25:19.403 回答
2

最好的选择是 SVG 或 HTML5,如果其他选项不可用,它们将依赖 PNG。

于 2009-11-09T18:50:06.210 回答
0

ExplorerCanvas为 IE带来了<canvas>支持。因此,这将是 1 和 2 的合并。好处是(a)随着更多浏览器添加对<canvas>.

于 2009-11-09T18:53:47.600 回答
0

您可以仅使用 CSS 将 SVG 与 png 后备一起使用,如此答案中所述:https ://stackoverflow.com/a/13575068/418711

于 2012-11-26T23:44:08.907 回答