欢迎各界计算机爱好者加入,弘扬极客精神!

Canvas和SVG的区别

0 喜欢 0 不喜欢
Canvas和SVG图形之间的区别是什么
问题关闭原因: enough answers
最新提问 9月 20, 2016 分类:其他 | 用户: 啊哈 (1,866 分)  
已关闭 12月 8, 2016 用户:Re

25 个回答

0 喜欢 0 不喜欢

Canvas

  • 依赖分辨率
  • 不支持事件处理器
  • 弱的文本渲染能力
  • 能够以 .png 或 .jpg 格式保存结果图像
  • 最适合图像密集型的游戏,其中的许多对象会被频繁重绘

SVG

  • 不依赖分辨率
  • 支持事件处理器
  • 最适合带有大型渲染区域的应用程序(比如谷歌地图)
  • 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
  • 不适合游戏应用

。。。

最新回答 10月 20, 2016 用户: huang_ZM (672 分)  
0 喜欢 0 不喜欢

Canvas

  • 依赖分辨率
  • 不支持事件处理器
  • 弱的文本渲染能力
  • 能够以 .png 或 .jpg 格式保存结果图像
  • 最适合图像密集型的游戏,其中的许多对象会被频繁重绘

SVG

  • 不依赖分辨率
  • 支持事件处理器
  • 最适合带有大型渲染区域的应用程序
  • 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
  • 不适合游戏应用
最新回答 10月 20, 2016 用户: LMY (2,824 分)  
0 喜欢 0 不喜欢
svg绘制出来的每一个图形的元素都是独立的DOM节点,能够方便的绑定事件或用来修改。canvas输出的是一整幅画布;
svg输出的图形是矢量图形,后期可以修改参数来自由放大缩小,不会是真和锯齿。而canvas输出标量画布,就像一张图片一样,放大会失真或者锯齿。
最新回答 11月 4, 2016 用户: big and small (4,616 分)  
0 喜欢 0 不喜欢
首先这两个都允许用户在浏览器中创建图形,但是原理不同

 

SVG是使用XML描述2D图形的语言 依赖分辨率 适合游戏

Canvas是通过JAVASCRIPT来绘制2D图形的  不以来分辨率 适合做大型渲染区域的应用程序
最新回答 11月 16, 2016 用户: 蜗牛 (2,984 分)  
0 喜欢 0 不喜欢
一: svg绘制出来的每一个图形的元素都是独立的DOM节点,能够方便的绑定事件或用来修改。canvas输出的是一整幅画布; 二: svg输出的图形是矢量图形,后期可以修改参数来自由放大缩小,不会是真和锯齿。而canvas输出标量画布,就像一张图片一样,放大会失真或者锯齿。
最新回答 12月 8, 2016 用户: Re (2,796 分)  
...