【问题标题】:SVG alternatives?SVG 替代品?
【发布时间】:2021-06-06 14:03:06
【问题描述】:

我在谷歌搜索时读到 SVG 已经“死”了。尽管我不同意,但谁能告诉我更多/未来基于矢量的格式来表示 2d/3d 图形? VML 呢?我应该使用什么格式来表示 Web 上的 2D 和 3D 图形?

我在网络上玩弄图形,我想知道我是否使用过时的技术。

【问题讨论】:

  • 由于 VML 如此以 Windows 为中心,我会避免这种情况,但 SVG 确实在 Firefox 中具有原生支持,并且不会出现死机,但您可以在 标签上进行矢量绘图,因此在 HTML5 中,允许将 SVG 加载到此标签中的需求似乎较少,这似乎会使它们竞争。
  • @James Black 不能使用 HTML5 画布,因为它不是基于矢量的,它的位图。 (除了我需要的其他功能)除了 VML,还有另一个/更好的?
  • 我会在死亡索赔中要求[citation needed]。虽然不可否认 SVG 没有得到应有的广泛支持,但支持仍在缓慢增加(即使 IE9 也会有它,这是相当不错的 ;))。
  • 看看这个相关的问题:stackoverflow.com/questions/1026875/svg-is-dying-whats-next 虽然它已经有一年多了,但我认为它仍然是相关的。由于 MS 加入了 W3C SVG WG,因此 SVG 支持可能会进入 IE。
  • 那么,出于这两个原因......我接受并关闭这个问题(发布答案以关闭它!)

标签: svg


【解决方案1】:

微软在 IE9 中支持 SVG,并在 IE 博客上详细解释了他们这样做的原因:

http://blogs.msdn.com/b/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx

SVG 的主要优点是它成为 DOM 的一部分,因此您可以使用 CSS 来设置样式并使用 javascript 来修改它。相比之下,Canvas 必须完全重绘每一帧。这使得画布适用于频谱分析仪、视频处理、快节奏游戏和其他非渐变动画。 SVG 更适合渐变动画。

就 3D 而言,未来是 WebGL,它是 OpenGL ES 上的一个薄垫片,但还很遥远。微软没有承诺支持它,这意味着它不会出现在 IE9 中。也许是 IE10,也许不是。

如果您确实使用 SVG,我建议使用 svgweb 来抽象出浏览器的差异(在过时的浏览器上回退到 Flash 小程序)。

【讨论】:

    【解决方案2】:

    这篇文章有点晚了……但我认为值得重新讨论,因为你的问题在所有 html5 讨论中再次出现。

    SVG 是一种矢量绘图格式,还支持动画、计时和 Javascript DOM 支持。换句话说,它是静态和动态矢量图形的独立格式;您可能会说它是 EPS/PDF 的以网络为中心(或以屏幕为中心)的替代品。 html5 canvas 标签不是一种格式,而是一种使用 Javascript 在屏幕上绘制(静态图像)的方式——仅此而已;它和 SVG 之间没有竞争,因为它们的用途完全不同。

    大多数其他矢量“格式”涉及插件 (Flash) 或硬件支持 (webGL)。具有讽刺意味的是,您提到的 VML 格式现在已被 SVG 弃用。

    回答您的问题:SVG 现在是网络的标准矢量格式。希望在不久的将来,我们也会看到它被用于视频/动画。

    【讨论】:

      【解决方案3】:

      你可以试试Raphaël JavaScript 库。

      它易于实现并提供与 SVG 相同的 UI 功能(以及更多功能!)。

      【讨论】:

      • 该链接已损坏。有一个 www.raphaeljs.com 重定向到 GitHub.io 最后一次提交是 2017 年 2 月,这是最近的,所以看起来它仍在积极开发中。另外,看起来很有趣!
      【解决方案4】:

      如果是 SVG,那么最好的方法是 svg.js。它更好地支持 SVG,它的大小(4.5k gzipped)是 Raphaël(31k gzipped)的一小部分。它还具有非常直观的语法。

      【讨论】:

        【解决方案5】:

        包括 ie9、firefox、safari 和 chrome 在内的所有主要浏览器都开始支持 svg 作为即将到来的 html5 标准的一部分。我不会称之为“死”

        【讨论】:

          【解决方案6】:

          2D:SVG 3D:X3DOM 或 webGL 直接

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-04-29
            • 2011-06-10
            • 2014-04-18
            • 2012-04-08
            • 2012-07-09
            • 2011-03-31
            相关资源
            最近更新 更多