我在谷歌搜索时看到有人说SVG已经"死亡"。虽然我不同意这种观点,但是有没有人能告诉我更多关于未来的基于矢量的2D / 3D图形格式?VML呢?在Web上表示2D和3D图形应该使用什么格式?
我正在网页上尝试制作图形,并想知道我是否在使用过时的技术。
我在谷歌搜索时看到有人说SVG已经"死亡"。虽然我不同意这种观点,但是有没有人能告诉我更多关于未来的基于矢量的2D / 3D图形格式?VML呢?在Web上表示2D和3D图形应该使用什么格式?
我正在网页上尝试制作图形,并想知道我是否在使用过时的技术。
微软正在支持IE9中的SVG,并在IE博客上详细解释了为什么要这样做:
http://blogs.msdn.com/b/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx
SVG的主要优势在于它成为DOM的一部分,因此您可以使用CSS对其进行样式设置,使用JavaScript进行修改。相比之下,Canvas必须完全重绘每一帧。这使得Canvas适用于频谱分析仪、视频处理、快节奏游戏和其他非渐进动画。SVG更适合于渐进动画。
就3D而言,未来是WebGL,它是OpenGL ES的薄包装层,但它还有很长的路要走。微软没有承诺支持它,这意味着它不会出现在IE9中。也许会在IE10中,也许不会。
如果您使用SVG,我建议使用svgweb来抽象浏览器之间的差异(在过时的浏览器上回退到Flash applet)。
这篇文章来得有点晚了......但我认为它值得重新讨论一下,因为随着所有HTML5的谈话,你的问题再次出现。
SVG是一种矢量绘图格式,也支持动画、时间和Javascript DOM支持。换句话说,它是一个静态和动态矢量图形的独立格式;你可以说它是EPS/PDF的面向web(或屏幕)的替代品。HTML5画布标签并不是一个格式,而是一种用Javascript绘制(静态图像)到屏幕上的方式 - 就是这样; 它与SVG之间没有竞争,因为它们具有完全不同的目的。
大多数其他矢量“格式”涉及插件(Flash)或硬件支持(WebGL)。具有讽刺意味的是,你提到的VML格式现在已被弃用,转而采用SVG。
回答你的问题:SVG现在是web上的标准矢量格式。希望在不久的将来,我们也能看到它被用于视频/动画。
所有主流浏览器,包括ie9、Firefox、Safari和Chrome都开始支持SVG作为即将到来的HTML5标准的一部分。我不会将其称为“死亡”。
2D:SVG
3D:直接使用X3DOM或webGL