• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > canvas与svg的区别有什么?canvas和svg的区别比较

canvas与svg的区别有什么?canvas和svg的区别比较

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含canvas,svg等相关知识,匿名希望在学习及工作中可以帮助到您
canvas与svg都是可以在浏览器上创建图形,因此,在html5中感觉canvas和svg很相似,但是实际上canvas与svg有着根本的区别。下面微课江湖通过比较canvas和svg之间的不同来给大家总结了关于canvas与svg的区别。一起来看一看吧。

在说canvas与svg的区别之前,我们先来看一看canvas和svg是什么?

svg是什么?

SVG 指可伸缩矢量图形 (Scalable Vector Graphics)。
SVG 用来定义用于网络的基于矢量的图形。
SVG 使用 XML 格式定义图形。
SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失。
SVG 是万维网联盟的标准。
SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体。

canvas是什么?

HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

知道了svg和canvas是什么之后,我们就来比较一下canvas和svg。

canvas和svg的区别比较:

首先我们从时间上看canvas与svg的区别:

canvas是html5提供的新元素<canvas>,而svg存在的历史要比canvas久远,已经有十几年了。

svg并不是html5专有的标签,最初svg是用xml技术(超文本扩展语言,可以自定义标签或属性)描述二维图形的语言。

其次我们从功能上看canvas与svg的区别:

SVG 是一种使用 XML 描述 2D 图形的语言。
SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。
在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

Canvas 通过 JavaScript 来绘制 2D 图形。
Canvas 是逐像素进行渲染的。
在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

最后我们来看canvas与svg技术应用上的比较:

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

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

本篇文章到这里就结束了,对于canvas和svg的更多知识内容可以参考HTML5开发手册。

以上就是canvas与svg的区别有什么?canvas和svg的区别比较的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

  • canvas与html5实现视频截图功能示例
  • 详解html5 canvas常用api总结(二)--绘图API
  • HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
  • 详解使用HTML5 Canvas创建动态粒子网格动画
  • 解决canvas转base64/jpeg时透明区域变成黑色背景的方法
  • 用html5的canvas和JavaScript创建一个绘图程序的简单实例
  • HTML5 canvas基本绘图之图形组合
  • HTML5 canvas基本绘图之文字渲染
  • HTML5 canvas基本绘图之绘制曲线
  • HTML5 canvas基本绘图之图形变换

相关文章

  • 2018-12-03三人做了一款独立游戏,灵感来源triple,玩法不一样,H5开发,第三天在策略类新品排第一,但第四天有下降趋势,由于是第一次做,对推广没经验,希望大伙指点,手游应该怎么推广?
  • 2018-12-03HTML5实现眼睛移动效果的示例
  • 2018-12-03html5 input属性使用示例_html5教程技巧
  • 2018-12-03HTML5 对各个标签的定义与规定:script
  • 2018-12-03HTML5实践-灰色图片画廊实现的方法
  • 2018-12-03HTML5中的Datalist元素标签怎么用
  • 2017-08-06HTML5 video标签(播放器)学习笔记(二):播放控制
  • 2018-12-03JavaScript 游戏中的面向对象的设计
  • 2018-12-03html5实现分层屏幕适配
  • 2018-12-03H5响应式建站有什么好处

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • html5 视频播放解决方案
    • 前后端为什么要分开写
    • 有关跨域通信的文章推荐10篇
    • opengl/webgl 可以部分重绘吗?
    • 浅谈three.js中的needsUpdate的应用
    • HTML5与Flash比较的详细介绍
    • 利用HTML5的新特点实现图片文件异步上传_html5教程技巧
    • 苹果官网设计翻转特效如何实现?
    • 突袭HTML5之Javascript API扩展3—本地存储全新体验
    • canvas API ,通俗的canvas基础知识(五)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有