探讨SVG图形的基本概念和在HTML5中的使用

可缩放矢量图形 (SVG) 是基于矢量的图形家族的一部分。它们与基于光栅的图形不同,后者在一个数据数组中存储每个像素的颜色定义。如今,网络上使用的最常见的光栅图形格式包括 ">JPEG、GIF 和 PNG,每种格式都具有优缺点。

相比任何基于光栅的格式,SVG 具有多项优势:

SVG 图形是使用数学公式创建的,需要在源文件中存储的数据要少得多,因为您无需存储每个独立像素的数据。 矢量图形可更好地缩放。对于网络上的图像,尝试从原始
大小放大图像可能产生失真(或像素化的)图像。

原始像素数据是针对特定大小进行设计的。当图像不再是该大小时,显示图像的程序会猜测使用何种数据来填充新的像素。矢量图像具有更高的弹性;当图像大小变化时,数据公式可相应地调整。

源文件大小可能更小,
所以 SVG 图形比其他光栅图形的加载速度
更快,使用的带宽更少。 SVG 图像由浏览器渲染,可以以编程方式绘制。SVG 图像可动态地更改,这使它们尤其适合数据驱动的应用程序,比如图表。 SVG 图像的源文件是一个文本文件,所以它既具有易于访问和搜索引擎友好特征。

本文风信网(www.ithov.com)将介绍 SVG 格式的优势,以及它们如何在 HTML5 中的 Web 设计工作中提供帮助。

SVG 基础知识

要创建 SVG 图形,您会经历与创建 JPEG、GIF 或 PNG 文件完全不同的流程。JPEG、GIF 和 PNG 文件通常使用图像编辑程序创建,比如 Adobe Photoshop。SVG 图像通常使用基于 XML 的语言创建。有一些 SVG 编辑 GUI 将为您生成基础的 XML。但是,对于本文,我们假设您使用的是原始的 XML 语言。

清单 1 给出了一个简单 SVG XML 文件的示例,该文件绘制一个具有 2 像素宽的黑色边框的红色圆形。

清单 1. SVG XML 文件

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <circle cx="100" cy="50" r="40" stroke="black" stroke-w
idth="2" fill="red" /></svg>

上述代码会得到图 1 中的图形。

图 1. 具有 2 像素宽的黑色边框的红色圆形

时间: 2024-08-02 06:41:12

探讨SVG图形的基本概念和在HTML5中的使用的相关文章

采用VTD-XML对SVG图形进行高效地解析和处理

随着 SVG 在 Web 中的广泛应用,基于 VTD-XML 对 SVG 实现图形查询的技术,将给网络图形搜索引擎带来革命性的变化. SVG 是基于 XML(可扩展标识语言)可缩放矢量图形的一个全新的标准开放的矢量图形和动画格式.SVG 支持:几何图形.文字标注.动画.色彩变化.滤镜.添加音效等众多的功能,可以显示出各种高质量的矢量图形,最为关键的是: SVG 不同于传统的二维图形和http://www.aliyun.com/zixun/aggregation/13470.html">动画

二维图形的矩阵变换(二)——WPF中的矩阵变换基础

原文:二维图形的矩阵变换(二)--WPF中的矩阵变换基础 在前文二维图形的矩阵变换(一)--基本概念中已经介绍过二维图像矩阵变换的一些基础知识,本文中主要介绍一下如何在WPF中进行矩阵变换.   Matrix结构 在WPF中,用Matrix结构(struct类型)表示二维变换矩阵,它是一个3*3的数组,结构如下,      由于第三列是常量0,0,1,因此并不作为公开属性,可见的只有剩余六个属性.   构造变换 虽然Matrix类公开了这六个属性让我们设置,但是靠直接设置这六个属性来实现平移.旋

c语言-语言重视概念?C语言中什么是表达是表达式

问题描述 语言重视概念?C语言中什么是表达是表达式 请教大神,麻烦详细回答,请全面点. 还有学习C等计算机语言要特别重视概念的东西吗?比如什么是常量,什么是变量等 老师平时i老是提问同学概念问题. 我平时都没怎么重视概念.以为看懂了程序就OK了. 来个大神分享心得.. 解决方案 基本概念当然非常重要,但是重要不等于难以理解,相反,如果你具有非常丰富的编程经验,不用刻意地学,也能领悟. 解决方案二: 多看书,就能掌握基础知识了,然后使用的时候多查查,温习 解决方案三: 在学生期,是一定要重视概念的

HTML5中如何绘制SVG内容到Canvas

SVG与Canvas是HTML5上绘制图形应用的两种完全不同模式的技术,两种绘制图形方式各有优缺点,但两者并非水火不容,尤其是SVG内容可直接绘制在Canvas上的功能,使得两者可以完美的融合在一起,让Canvas可享用到现有丰富的SVG素材,并不失SVG矢量无级缩放的特点. 普通图片的格式数据为data:image/png类型,而SVG格式的数据类型为data:image/svg+xml的类型,下图为该HT for Web拓扑图拖拽入SVG格式图片的运行效果: 以下一段小例子,展示了加载一个S

图形页眉在WPS文字2013中的添加方法

  ①启动WPS文字,单击视图--页眉和页脚,将页眉页脚编辑框打开. ②光标移动到页眉里面,然后点击插入--图形,在里面选择一种喜欢的图形样式. ③在页眉编辑框画出图形,调整好位置,还可以进行填充轮廓的修改. ④经我的修改,效果如下.

HTML5中Canvas的使用样例(图形增加鼠标点击、拖动交互)

Canvas是一种非保留性的绘图界面,即不会记录过去执行的绘图操作,而是保持最终结果(构成图像的彩色像素). 如果想让Canvas变得具有交互性,比如用户可以选择.拖动画布上的图形.那么我们必须记录绘制的每一个对象,才能在将来灵活的修改并重绘它们,实现交互. 1,鼠标点击选择图形对象 (1)下面样例中点击"添加圆圈"按钮可以在画布上增加位置.大小.颜色都是随机的圆圈. (2)点击"清空画布"按钮可以清除画布上所有圆圈. (3)鼠标点击任意圆圈,该圆圈会出现黑色边框,

HTML5中使用Canvas绘制带阴影效果的图形

1,阴影的相关属性 HTML5 Canvas中提供了设置阴影的四个属性值分别为: context.shadowColor = "red" 表示设置阴影颜色为红色 context.shadowOffsetX = 0表示阴影相对TEXT的水平距离,0表示两者水平位置重合 context.shadowOffsetY = 0表示阴影相对TEXT的垂直距离,0表示两者垂直位置重合 context.shadowBlur = 10 阴影模糊效果,值越大模糊越厉害. shadowColor:阴影颜色(

Java中框架的概念,以及从配置文件中读取配置信息并加载指定类

  学了反射后,也不知道反射是干什么的,那学了就没什么用了. 反射在框架中有很重要的作用,什么是框架呢? 大家在做JavaWeb开发的时候 用过JDBC吧,首先上来的时候 我们需要加载JDBC的驱动. Class.forName(...)  //每个不同的驱动对应不同的类名字 对于开发人员来说不同的人选择的驱动程序 不一样 .那么我们就需要不同的驱动类 . 我们是在JSP标签中进行了 这个类的调用,那么相对来说  JSP就是一个框架,而我们加载的这个类就是一个工具. 框架与工具的关系 就是 我们

基于SVG的web页面图形绘制API介绍及编程演示

SVG的全称是可扩展的矢量图形跟传统的Raster方式的图形(JPG, PNG, GIF等)有很大的差别,下面与大家分享下JavaScript中SVG API编程演示,感兴趣的朋友可以参考下哈   一:什么是SVG SVG是1999由W3C发布的2D图形描述语言,纯基于XML格式的标记语言,SVG的 全称是可扩展的矢量图形跟传统的Raster方式的图形(JPG, PNG, GIF等)有很大的差 别.SVG是2D图形开发平台,包括两个部分,一个是基于XML语言的数据描述,另 外一部分是可编程的AP