HTML5 SVG3

简介: SVG(可缩放矢量图形)和Canvas是Web上两种常用的2D图形技术。SVG基于XML,每个图形都是对象,支持事件处理,不依赖分辨率,适合复杂图形和交互应用;而Canvas通过JavaScript绘制,依赖分辨率,不支持事件处理,适合图像密集型应用如游戏。

SVG 与 Canvas两者间的区别

SVG 是一种使用 XML 描述 2D 图形的语言。

Canvas 通过 JavaScript 来绘制 2D 图形。

SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。

在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

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

下表列出了 canvas 与 SVG 之间的一些不同之处。
Canvas SVG

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



不依赖分辨率
支持事件处理器
最适合带有大型渲染区域的应用程序(比如谷歌地图)
复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
不适合游戏应用
相关文章
|
10天前
|
Web App开发 XML 移动开发
HTML5 MathML
HTML5 支持 MathML,用于显示数学公式,通过 `<math>` 标签实现。MathML 是基于 XML 的标准,但目前仅 Firefox 和 Safari 浏览器支持。其他浏览器可借助第三方库如 mspace.js 来实现兼容。示例代码展示了如何使用 MathML 显示勾股定理、二次方程及矩阵。
|
3月前
|
XML 前端开发 JavaScript
Html:CSS介绍
Html:CSS介绍
50 1
|
11天前
|
移动开发 HTML5
HTML5 SVG2
HTML5允许直接在页面中嵌入SVG元素,无需外部文件。例如,可以创建一个红色圆形和一个紫色边框的绿色五角星,通过简单的SVG代码直接嵌入HTML中实现。
|
11天前
|
XML 移动开发 图形学
HTML5 SVG1
SVG(Scalable Vector Graphics)是基于XML的矢量图形标准,由W3C制定。HTML5支持内联SVG,<svg>元素用于嵌入SVG图形。SVG能绘制路径、形状、文本等,具有可缩放性、高质量打印及图像放大不失真等优点,适合网页设计和开发。
|
3月前
|
XML 移动开发 前端开发
HTML5 SVG
SVG(可缩放矢量图形)是HTML5中的一种XML标记语言,用于描述二维图形。它具有可缩放性,能无缝集成CSS和JavaScript,适合网络应用。SVG支持多种基本图形元素(如矩形、圆形、路径等),并通过属性控制外观。此外,SVG还支持变换、文本渲染及动画效果,文件大小通常较小且不失真,但复杂图形可能导致管理困难,部分旧版浏览器可能存在兼容性问题。总之,SVG是现代Web开发中创建动态和响应式界面的强大工具。
|
7月前
|
XML 编解码 前端开发
HTML SVG
HTML SVG
63 0
|
4月前
|
前端开发 数据安全/隐私保护
HTML&CSS
【8月更文挑战第14天】
46 1
HTML&CSS
|
7月前
|
移动开发 API UED
html5和css3
【5月更文挑战第26天】html5和css3
49 2
|
7月前
|
前端开发
HTML CSS
HTML CSS
|
7月前
|
XML 前端开发 JavaScript
css和html
【4月更文挑战第7天】css和html
51 0