SVG 与 HTML5 的 canvas 各有什么优点,哪个更有前途
2个回答
推荐于2016-11-25 · 知道合伙人软件行家
关注
展开全部
canvas其实本质控制的是渲染,不管里面如何复杂,每一次改变画布都需要重新渲染,而svg不需要,所以两者就很能凸显各自用途,比如canvas的渲染特效不需要复杂的层叠运算,只需要输出最终的渲染结果,所以效率好,而svg只是用于描述二维矢量图形的一种图形格式,保真度较高 ,所以谷歌地图百度地图都会用到,canvas控制的是像素块,svg是矢量信息。两者概念你可以类比位图和矢量图的概念,位图存的是像素块,矢量图存的是路径,canvas是输出渲染像素块,svg是输出矢量路径,其它区别都是围绕这个展开的!
展开全部
Canvas是使用JavaScript程序绘图(动态生成),SVG是使用XML文档描述来绘图。
从这点来看:SVG更适合用来做动态交互,而且SVG绘图很容易编辑,只需要增加或移除相应的元素就可以了。
同时SVG是基于矢量的,所有它能够很好的处理图形大小的改变。Canvas是基于位图的图像,它不能够改变大小,只能缩放显示;所以说Canvas更适合用来实现类似于Flash能做的事情(当然现在Canvas与Flash相比还有一些不够完善的地方)。
关于最后一点二者谁更有前途:从上面我们可以知道二者是有不同用途的,作为一个开发者,你应该做的是理解应用程序的具体需求并选择正确的技术来实现它。
从这点来看:SVG更适合用来做动态交互,而且SVG绘图很容易编辑,只需要增加或移除相应的元素就可以了。
同时SVG是基于矢量的,所有它能够很好的处理图形大小的改变。Canvas是基于位图的图像,它不能够改变大小,只能缩放显示;所以说Canvas更适合用来实现类似于Flash能做的事情(当然现在Canvas与Flash相比还有一些不够完善的地方)。
关于最后一点二者谁更有前途:从上面我们可以知道二者是有不同用途的,作为一个开发者,你应该做的是理解应用程序的具体需求并选择正确的技术来实现它。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询