SVG 与 HTML5 的 canvas 各有什么优点,哪个更有前途

2025-04-25 20:11:13
推荐回答(2个)
回答1:

canvas其实本质控制的是渲染,不管里面如何复杂,每一次改变画布都需要重新渲染,而svg不需要,所以两者就很能凸显各自用途,比如canvas的渲染特效不需要复杂的层叠运算,只需要输出最终的渲染结果,所以效率好,而svg只是用于描述二维矢量图形的一种图形格式,保真度较高 ,所以谷歌地图百度地图都会用到,canvas控制的是像素块,svg是矢量信息。两者概念你可以类比位图和矢量图的概念,位图存的是像素块,矢量图存的是路径,canvas是输出渲染像素块,svg是输出矢量路径,其它区别都是围绕这个展开的!

回答2:

SVG 基于 XML,每个被绘制的图形均被视为对象。
Canvas 通过 JavaScript 来绘制 2D 图形,Canvas 是逐像素进行渲染的。
两者各有不同的应用场景,至于canvas游戏开发也不过是一些休闲小游戏,目前也没有游戏引擎。
我个人觉得两者都没有什么前途。