我们为什么需要HTML5的Canvas元素,当同样可以通过嵌入SVG实现?

有帮助吗?

解决方案

SVG和帆布是不是真的互换技术。 SVG是一种类型的一切是从一个相当抽象模型(SVG文档)绘制保留模式图形。在另一方面画布是一种立即模式的图形,其中没有模型和客户端(JavaScript的)必须采取重绘的护理,动画等等。

其他提示

SVG是用于矢量图形的标记语言,并且具有DOM。这使得它很容易改变它的创作后的内容。

帆布是一个画面就像MS油漆没有撤消按钮。你不能改变的内容。您只能overpaint它。这是非常高性能的,因为浏览器并不需要处理图像的完整DOM。并且存在这样的可能性:画布可以处理3D在未来绘制。

http://people.mozilla.com/~vladimir/xtech2006/ 具有良好的比较。

使用画布,你不必处理DOM,从而导致更快,更容易编写代码。 SVG是乱的作为规范,太...

的图示:我的博客引擎(博主)不支持SVG(它不是一个XHTML文档)。我写了一个工具,转换SVG画布元素: HTTP ://plindenbaum.blogspot.com/2009/11/tool-converting-svg-to-canvas_22.html

下面是如何解析简单SVG和绘制画布..

上的解释

的http:// WWW .ikeralbeniz.net / 2010/11/03 / jugando-CON-HTML5的帆布-Y-SVG-I / http://www.ikeralbeniz.net/2010/11/04/jugando-con-html5-canvas-y-svg-ii/

在进一步职位SVG解析器将与透明胶片和梯度完成

由于我们的话就不用担心什么支持这样的嵌入; - )

在这种方式的重点应用developpers是要坚持标准,让客户端设计师这样做。因此不遗余力大家担心的插件,版本,安全设置,等等...

这是不是一个真正的技术答案,但我认为这是正确的答案。

在底线是,我们并不需要两个。是的,我知道有矢量和栅格图形,不同的方式来控制两者之间的路径,对象,动画等之间的差异,但对最终用户是完全一样的。是的,SVG是一个小更强大,因为现在它不再存在,但有一点更多的工作,你可以用帆布同样的事情。

我相信现实是Canvas是针对XML本身在web开发压倒性反弹的一部分。我相信大多数web开发者,尤其是那些有时间和资源有限,外“企业”的环境中工作,不喜欢XML的复杂度。画布是一组就像HTML5优于XHTML,JSON优于XML,甚至YAML优于XML优选不管三七二十一酮事情技术的一部分。

我觉得这个想法是与具有许多特殊的工具做一件事正确和有效的,而不是做很多事情一个大型工具的* nix的理念。 (这也类似于由谁顺相当精确的定位和先进的拨链器技术用于一个直接驱动齿轮的简单许多固定齿轮自行车骑手保持的理念。)

不要误会我的意思,我相信XML是一个令人难以置信的强大和辉煌科技没想起来,并通过精彩的人发展成为网络,编程,组态,数据存储等的最终瑞士军队刀;但是,这并不意味着它更易于管理和样式一系列复杂的路径比它只是借鉴一个像素。

我知道我的答案是自以为是,我不打算这是火焰。我爱SVG,我希望它在过去几年(尤其是IE)得到了更多的支持,但我觉得潮流转向朝画布只是由于标准制定者,并影响他们的Web开发人员的心理。

长期我想看到SVG使XML可选,并移动到一个更JSON状结构这就是简单的用JavaScript来操纵,甚至可能成为基于矢量的画布背景。这将是在我看来,网络的最佳解决方案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top