canvas和svg区别(一文看懂图像可视化技术)

先看一下可视化的图形:

Svg图形

canvas和svg区别(一文看懂图像可视化技术)(1)

canvas图形

canvas和svg区别(一文看懂图像可视化技术)(2)

Webgl图形

canvas和svg区别(一文看懂图像可视化技术)(3)

SVG

  • 基于XML描述的2D图形的语言
  • 图形DOM中的每个元素都是独立的,可以附加Javascript事件处理函数。
  • 在 SVG 中,想要改变某个图形元素,只需改变对应的DOM中的属性值。
  • svg画一个圆

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">

<circle cx="10" cy="10" r="5" stroke="re'd" stroke-width="2" fill="yellow" />

</svg>

Canvas

  1. HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。
  2. 画布是一个矩形区域,您可以控制其每一个像素。
  3. canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
  4. 通过Javascript在网页上绘制2D图形。
  5. 画布是一个矩形区域,可控制其每一像素,是逐个像素进行渲染的。
  6. 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法

一个元素

<canvas id="can" width="100" height="100"></canvas>

  1. WebGL
  2. WebGL(Web图形库)是一个JavaScript API,可在任何兼容的Web浏览器中渲染高性能的交互式3D和2D图形。WebGL通过引入一个与OpenGL ES 2.0非常一致的API来做到这一点,该API可以在HTML5 <canvas>元素中使用,可以利用用户设备提供的硬件图形加速。
  3. Web开发人员可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型
  4. 基于Canvas的3D框架
  5. 主要用来做 3D 展示、动画、游戏。
  6. SVG 、Canvas对比

SVG

Canvas

不依赖分辨率,矢量图

依赖分辨率,位图

支持事件处理函数

不支持事件处理

复杂度高会减慢渲染速度(svg图形DOM元素过多)

渲染速度快,可保存为图片

适合小型游戏应用

适合图像密集大型的游戏

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页