SVG 意为可缩放矢量图形

SVG 意为可缩放矢量图形(Scalable Vector Graphics)。
SVG 使用 XML 格式定义图像。
::::::::::::::::::::::::::::::::::::::
http://www.iis7.com/b/wzjk/
SVG 简介
SVG 是使用 XML 来描述二维图形和绘图程序的语言。
。。。。。。
什么是SVG?
SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
SVG 用来定义用于网络的基于矢量的图形
SVG 使用 XML 格式定义图形
SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失
SVG 是万维网联盟的标准
SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体
。。。。。。
SVG 是 W3C 推荐标准
SVG 于 2003 年 1 月 14 日成为 W3C 推荐标准。
。。。。。。
SVG 的历史和优势
在 2003 年一月,SVG 1.1 被确立为 W3C 标准。
参与定义 SVG 的组织有:Sun公司(已被Oracle公司收购)、Adobe、苹果公司、IBM 以及柯达。
与其他图像格式相比,使用 SVG 的优势在于:
SVG 可被非常多的工具读取和修改(比如记事本)
SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强。
SVG 是可伸缩的
SVG 图像可在任何的分辨率下被高质量地打印
SVG 可在图像质量不下降的情况下被放大
SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图)
SVG 可以与 Java 技术一起运行
SVG 是开放的标准
SVG 文件是纯粹的 XML
SVG 的主要竞争者是 Flash。
与 Flash 相比,SVG 最大的优势是与其他标准(比如 XSL 和 DOM)相兼容。而 Flash 则是未开源的私有技术。
。。。。。。
查看 SVG 文件
Internet Explorer9,火狐,谷歌Chrome,Opera和Safari都支持SVG。
IE8和早期版本都需要一个插件 - 如Adobe SVG浏览器,这是免费提供的。
。。。。。。
创建SVG文件
由于SVG是XML文件,SVG图像可以用任何文本编辑器创建,但它往往是与一个绘图程序一起使用,如Inkscape,更方便地创建SVG图像。
::::::::::::::::::::::::::::::::::::::
SVG 实例
简单的 SVG 实例
一个简单的SVG图形例子:
这里是SVG文件(SVG文件的保存与SVG扩展):
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"&gt;

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red" />
</svg>
SVG 代码解析:
第一行包含了 XML 声明。请注意 standalone 属性!该属性规定此 SVG 文件是否是"独立的",或含有对外部文件的引用。
standalone="no" 意味着 SVG 文档会引用一个外部文件 - 在这里,是 DTD 文件。
第二和第三行引用了这个外部的 SVG DTD。该 DTD 位于 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"。该 DTD 位于 W3C,含有所有允许的 SVG 元素。
SVG 代码以 <svg> 元素开始,包括开启标签 <svg> 和关闭标签 </svg> 。这是根元素。width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。
SVG 的 <circle> 用来创建一个圆。cx 和 cy 属性定义圆中心的 x 和 y 坐标。如果忽略这两个属性,那么圆点会被设置为 (0, 0)。r 属性定义圆的半径。
stroke 和 stroke-width 属性控制如何显示形状的轮廓。我们把圆的轮廓设置为 2px 宽,黑边框。
fill 属性设置形状内的颜色。我们把填充颜色设置为红色。
关闭标签的作用是关闭 SVG 元素和文档本身。
注释:所有的开启标签必须有关闭标签!
:::::::::::::::::::::::::::::::::::::::::
SVG 在 HTML 页面
SVG 文件可通过以下标签嵌入 HTML 文档:<embed>、<object> 或者 <iframe>。
SVG的代码可以直接嵌入到HTML页面中,或您可以直接链接到SVG文件。
。。。。。。
使用 <embed> 标签
<embed>:
优势:所有主要浏览器都支持,并允许使用脚本
缺点:不推荐在HTML4和XHTML中使用(但在HTML5允许)
语法: <embed src="circle1.svg" type="image/svg+xml" />
。。。。。。
使用 <object> 标签
<object>:
优势:所有主要浏览器都支持,并支持HTML4,XHTML和HTML5标准
缺点:不允许使用脚本。
语法 :<object data="circle1.svg" type="image/svg+xml"></object>
。。。。。。
使用 <iframe> 标签
<iframe>:
优势:所有主要浏览器都支持,并允许使用脚本
缺点:不推荐在HTML4和XHTML中使用(但在HTML5允许)
语法: <iframe src="circle1.svg"></iframe>
。。。。。。
直接在HTML嵌入SVG代码
在Firefox、Internet Explorer9、谷歌Chrome和Safari中,你可以直接在HTML嵌入SVG代码。
。。。。。。
链接到SVG文件
您还可以用<a>标签链接到一个SVG文件:链接到SVG文件
您还可以用<a>标签链接到一个SVG文件:<a href="circle1.svg"></a>
:::::::::::::::::::::::::::::::::::::::::::
SVG Shapes(形状)
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
:::::::::::::::::::::::::::::::::::::::::
SVG 矩形 - <rect>
<rect> 标签可用来创建矩形,以及矩形的变种
rect 元素的 width 和 height 属性可定义矩形的高度和宽度
style 属性用来定义 CSS 属性
CSS 的 fill 属性定义矩形的填充颜色(rgb 值、颜色名或者十六进制值)
CSS 的 stroke-width 属性定义矩形边框的宽度
CSS 的 stroke 属性定义矩形边框的颜色
x 属性定义矩形的左侧位置(例如,x="0" 定义矩形到浏览器窗口左侧的距离是 0px)
y 属性定义矩形的顶端位置(例如,y="0" 定义矩形到浏览器窗口顶端的距离是 0px)
CSS 的 fill-opacity 属性定义填充颜色透明度(合法的范围是:0 - 1)
CSS 的 stroke-opacity 属性定义轮廓颜色的透明度(合法的范围是:0 - 1)
rx 和 ry 属性可使矩形产生圆角。
:::::::::::::::::::::::::::::::::::::::::::::::
SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆
cx和cy属性定义圆点的x和y坐标。如果省略cx和cy,圆的中心会被设置为(0, 0)
r属性定义圆的半径
::::::::::::::::::::::::::::::::::::::::::::::
SVG <ellipse>
SVG 椭圆 - <ellipse>
<ellipse> 元素是用来创建一个椭圆:
椭圆与圆很相似。不同之处在于椭圆有不同的x和y半径,而圆的x和y半径是相同的
CX属性定义的椭圆中心的x坐标
CY属性定义的椭圆中心的y坐标
RX属性定义的水平半径
RY属性定义的垂直半径
::::::::::::::::::::::::::::::::::::::::::::::
SVG 直线 - <line>
<line> 元素是用来创建一个直线
x1 属性在 x 轴定义线条的开始
y1 属性在 y 轴定义线条的开始
x2 属性在 x 轴定义线条的结束
y2 属性在 y 轴定义线条的结束
:::::::::::::::::::::::::::::::::::::::::::::
SVG 多边形 - <polygon>
<polygon> 标签用来创建含有不少于三个边的图形。
多边形是由直线组成,其形状是"封闭"的(所有的线条 连接起来)。
polygon来自希腊。 "Poly" 意味 "many" , "gon" 意味 "angle".
points 属性定义多边形每个角的 x 和 y 坐标
:::::::::::::::::::::::::::::::::::::::::::::
SVG 曲线 - <polyline>
<polyline> 元素是用于创建任何只有直线的形状
::::::::::::::::::::::::::::::::::::::::::::::
SVG 路径 - <path>
<path> 元素用于定义一个路径。
下面的命令可用于路径数据:
M = moveto
L = lineto
H = horizontal lineto
V = vertical lineto
C = curveto
S = smooth curveto
Q = quadratic Bézier curve
T = smooth quadratic Bézier curveto
A = elliptical Arc
Z = closepath
注意:以上所有命令均允许小写字母。大写表示绝对定位,小写表示相对定位。
::::::::::::::::::::::::::::::::::::::::::::::::
SVG 文本 - <text>
<text> 元素用于定义文本。
:::::::::::::::::::::::::::::::::::::::::::::::
SVG Stroke 属性
SVG提供了一个范围广泛stroke 属性。下面:
stroke
stroke-width
stroke-linecap
stroke-dasharray
所有stroke属性,可应用于任何种类的线条,文字和元素就像一个圆的轮廓。
。。。。。。
SVG stroke 属性
Stroke属性定义一条线,文本或元素轮廓颜色
。。。。。。
SVG stroke-width 属性
Tstroke- width属性定义了一条线,文本或元素轮廓厚度
。。。。。。
SVG stroke-linecap 属性
strokelinecap属性定义不同类型的开放路径的终结
。。。。。。
SVG stroke-dasharray 属性
stroke-dasharray属性用于创建虚线
:::::::::::::::::::::::::::::::::::::::::::::::::::::
SVG 滤镜
SVG滤镜用来增加对SVG图形的特殊效果。
SVG 滤镜
在本教程中,我们将仅展示一个可能采用的特殊效果。基础知识展示后,你已经学会使用特殊效果,你应该能够适用于其他地方。这里的关键是给你一个怎样做SVG的想法,而不是重复整个规范。
SVG可用的滤镜是:
feBlend - 与图像相结合的滤镜
feColorMatrix - 用于彩色滤光片转换
feComponentTransfer
feComposite
feConvolveMatrix
feDiffuseLighting
feDisplacementMap
feFlood
feGaussianBlur
feImage
feMerge
feMorphology
feOffset - 过滤阴影
feSpecularLighting
feTile
feTurbulence
feDistantLight - 用于照明过滤
fePointLight - 用于照明过滤
feSpotLight - 用于照明过滤
除此之外,您可以在每个 SVG 元素上使用多个滤镜!
::::::::::::::::::::::::::::::::::::::::::::
SVG 模糊效果
注意: Internet Explorer和Safari不支持SVG滤镜!
<defs> 和 <filter>
所有互联网的SVG滤镜定义在<defs>元素中。<defs>元素定义短并含有特殊元素(如滤镜)定义。
<filter>标签用来定义SVG滤镜。<filter>标签使用必需的id属性来定义向图形应用哪个滤镜?
<filter>元素id属性定义一个滤镜的唯一名称
<feGaussianBlur>元素定义模糊效果
in="SourceGraphic"这个部分定义了由整个图像创建效果
stdDeviation属性定义模糊量
<rect>元素的滤镜属性用来把元素链接到"f1"滤镜

原文地址:http://blog.51cto.com/13941970/2174545

时间: 2024-10-09 09:57:37

SVG 意为可缩放矢量图形的相关文章

HTML5 中的可缩放矢量图形(SVG)

简介 可缩放矢量图形 (SVG) 是基于矢量的图形家族的一部分.它们与基于光栅的图形不同,后者在一个数据数组中存储每个像素的颜色定义.如今,网络上使用的最常见的光栅图形格式包括 JPEG.GIF 和 PNG,每种格式都具有优缺点. 相比任何基于光栅的格式,SVG 具有多项优势: SVG 图形是使用数学公式创建的,需要在源文件中存储的数据要少得多,因为您无需存储每个独立像素的数据. 矢量图形可更好地缩放.对于网络上的图像,尝试从原始大小放大图像可能产生失真(或像素化的)图像. 原始像素数据是针对特

SVG(可缩放矢量图形)

SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式.SVG是W3C("World Wide Web ConSortium" 即 " 国际互联网标准组织")在2000年8月制定的一种新的二维矢量图形格式,也是规范中的网络矢量图形标准.SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式. 图片的数字化.将图片存储为数据有两种方案

Andrid5.0新特性——SVG(可缩放矢量图形)

什么是SVG(Scalable Vector Graphics) SVG一种用于描述图像的标记语言.类似HTML. SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式. 标准制定开发历史 2001年9月4日,发布SVG 1.0. 2003年1月4日,发布SVG 1.1. 2003年1月14日,推出SVG移动子版本:SVG Tiny和SVG Basic. 2008年12月22日,发布SVG Tiny 1.2. 2011年8月16日,发布SVG

SVG可缩放矢量图形

SVG是指可伸缩矢量图形 SVG用来定义用于网络的基于矢量的图形 SVG使用XML格式定义图形 SVG图像在放大或缩小(改变尺寸)的情况下,其图形质量不会受受损失 SVG是W3C的一个标准 与其他图像格式相比,使用SVG的优势在于: SVG可被非常多的工具读取和修改(比如记事本) SVG与JPEG和GIF图像比起来,尺寸更小,且可压缩性更强. SVG是可伸缩的 SVG图像可在任何的分辨率下被高质量地打印 SVG可在图像质量不下降的情况下被放大 SVG图像中的文本是可选的,同时也是可搜索的(很适合

svg --- 可缩放矢量图形

svg听了很多遍了,一直没有机会好好地了解一下这是个什么东西,今天突然有兴趣,就好好看看吧~ 这篇文章主要参考的还是 w3school上的svg教程. 第一部分:简介 svg就是scalable vector graphics, 即可伸缩矢量图形. 我们平时下载icon时,就会遇到是否选择svg格式的图片的情况, SVG 用来定义用于网络的基于矢量的图形. SVG 使用XML格式定义图形. 重要: SVG图像在放大或改变尺寸的情况下其图形质量不会损失! 厉害啦 SVG 时万维网联盟的标准,与20

svg拖拽和缩放

需求:做机房平面图,用svg实现拖拽和缩放,刚开始一头雾水,不知所措,好在皇天不负有心人........ 本文重点介绍拖拽,单纯实现很简单,但是由于vue项目,机房图有很多事件,拖拽就成了难点 简单介绍下缩放实现技术要点:1.获取Svg当前缩放比例--------documen.getElementById("SVG").currentScale 放大: documen.getElementById("SVG").currentScale = documen.get

SVG 学习(一)

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

Android使用SVG矢量图打造酷炫动效!

尊重原创,欢迎转载,转载请注明: FROM  GA_studio   http://blog.csdn.net/tianjian4592 一个真正酷炫的动效往往让人虎躯一震,话不多说,咱们先瞅瞅效果: 这个效果我们需要考虑以下几个问题: 1. 这是图片还是文字: 2. 如果是图片该如何拿到图形的边沿线坐标,如果是文字呢? 3. 如果拿到了边沿线坐标,如何让光线沿着路径跑动: 4. 怎么处理过程的衔接: 以上四个问题似乎不是太好处理,而这几个问题也正好是这个效果精华所在,接下来咱们一个一个进行考虑

SVG画图

SVG 意为可缩放矢量图形(Scalable Vector Graphics).SVG 使用 XML 格式定义图像.::::::::::::::::::::::::::::::::::::::http:/ /ww w.iis7.co m/b/ssyqdq/SVG 简介SVG 是使用 XML 来描述二维图形和绘图程序的语言.......什么是SVG?SVG 指可伸缩矢量图形 (Scalable Vector Graphics)SVG 用来定义用于网络的基于矢量的图形SVG 使用 XML 格式定义图