HTML5实战——svg学习

简介:

百度百科:

  SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式。SVG是W3C制定的一种新的二维矢量图形格式,也是规范中的网络矢量图形标准。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。

什么是SVG?

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

 Canvas 和 SVG 的区别:
SVG
SVG 是一种使用 XML 描述 2D 图形的语言。
SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。
在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。
特点:
不依赖分辨率
支持事件处理器
最适合带有大型渲染区域的应用程序(比如谷歌地图)
复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
不适合游戏应用
Canvas
Canvas 通过 JavaScript 来绘制 2D 图形。
Canvas 是逐像素进行渲染的。
在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
特点:
     依赖分辨率
不支持事件处理器
弱的文本渲染能力
能够以 .png 或 .jpg 格式保存结果图像
最适合图像密集型的游戏,其中的许多对象会被频繁重绘

svg 例子:

    <svg width="100%" height="100%"  >

        <circle cx="300" cy="60" r="50" stroke="#ff0" stroke-width="3" fill="red" />

    </svg>

 

学习svg非常不错的系列博文

    突袭HTML5之SVG 2D入门1 - SVG综述

    突袭HTML5之SVG 2D入门2 - 图形绘制

    突袭HTML5之SVG 2D入门3 - 文本与图像

    突袭HTML5之SVG 2D入门4 - 笔画与填充

    突袭HTML5之SVG 2D入门5 - 颜色的表示

    突袭HTML5之SVG 2D入门6 - 坐标与变换

    突袭HTML5之SVG 2D入门7 - 重用与引用

    突袭HTML5之SVG 2D入门8 - 文档结构

    突袭HTML5之SVG 2D入门9 - 蒙板

    突袭HTML5之SVG 2D入门10 - 滤镜

    突袭HTML5之SVG 2D入门11 - 动画

    突袭HTML5之SVG 2D入门12 - SVG DOM

    突袭HTML5之SVG 2D入门13 - svg对决canvas

 

 

参考:http://www.w3school.com.cn/svg/svg_intro.asp

本文转自挨踢前端博客园博客,原文链接http://www.cnblogs.com/duanhuajian/p/3227410.html如需转载请自行联系原作者


@挨踢前端

相关文章
|
9月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
9月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
272 34
|
移动开发 HTML5
HTML5 SVG实现可爱的小鸟卡通动画3D特效
HTML5 SVG实现可爱的小鸟卡通动画
228 29
html5+svg太空人404动画模板源码
html5+svg太空人404动画模板源码
206 17
|
数据可视化 前端开发
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
本文介绍了如何在Twaver-HTML5中使用鹰眼(Overview)可视化视图组件,它作为Network的缩略图,允许用户通过缩略图导航Network,支持单击、双击和框选操作来控制Network视图。
357 5
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
|
数据可视化 前端开发 容器
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
本文介绍了如何在Twaver-HTML5中使用列表可视化视图组件(List),展示了如何创建列表、设置列表属性(如行高、间隔颜色等)、实现数据绑定和排序,以及如何通过React代码示例进行操作。
265 2
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
504 1
|
XML 移动开发 前端开发
HTML5 SVG
SVG(可缩放矢量图形)是HTML5中的一种XML标记语言,用于描述二维图形。它具有可缩放性,能无缝集成CSS和JavaScript,适合网络应用。SVG支持多种基本图形元素(如矩形、圆形、路径等),并通过属性控制外观。此外,SVG还支持变换、文本渲染及动画效果,文件大小通常较小且不失真,但复杂图形可能导致管理困难,部分旧版浏览器可能存在兼容性问题。总之,SVG是现代Web开发中创建动态和响应式界面的强大工具。