`
yydcj
  • 浏览: 61566 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SVG的简单实例介绍

    博客分类:
  • SVG
阅读更多

引自http://www.chinasvg.com/svg/about-svg/svg-on-the-simple-examples.html

文章通过SVG实例分析SVG代码的语法、规则以及SVG设计相关信息。

  • SVG将在不久的未来成为网页向量图形(vector graphic)及动画(animation)的公认标准。
  • SVG 本身可以纯粹被视为图形及动画的格式,它也可以与 XML、JavaScript、SMIL 以及 HTML 等相结合而产生丰富多样的应用。
  • SVG 就是用来解决网页上图形及动画表现的新技术。
  • W3 Consortium最近才拟定SVG的建议参考标准,也就是说这项标准的制定即将完成,很快就会内建在网页浏览器及XML浏览器上了。

  SVG提供了三种图形物件:第一种就是向量图形(长方形、圆形、三角形、多边形...等)、第二种是影像(也就是点阵图形)、第三种是文字(可对文字做特效且有搜寻的能力)。并有档案小、动画、样式功能以及和使用者互动的能力。
  透过这三种物件的交替使用,就可以绘制生动漂亮的图形了。接下来就来说明有关于SVG的一些标签语法。
  要完完整整的介绍SVG的写作方法与技巧,可能会花费掉太多的篇幅,而学习最快的方式就是实例,希望能够借由实例的展示,从中了解SVG的奥妙以及SVG所能够达到的功能,进而喜欢上SVG。
  当你安装Adobe SVG Viewer让你的浏览器也能看SVG格式之后,可以先连上 SVG浏览器(Adobe SVG Viewer)指南 测试SVG预览功能是否完整,看看是否真的可以使用了,如你看到测试一的中国五星红旗,就表示你的浏览器可以观看SVG格式了,如果你还看到了测试二的动态变化效果,表示你的浏览器完全支持SVG。

  参考w3.org SVGSVG中国 获得更详尽的SVG消息,网站提供了SVG浏览插件、实例、教程、SVG运用以及一些其他的好东西。

实例1 直线实例

  这一个实例示范了绘制直线的SVG语法。实例中,在X座标100,300,500,700,900共绘制五条长度200pixel的直线。

<?xml version="1.0" standalone="no"?>
<svg width="15cm" height="5cm" viewBox="0 0 1000 300"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<desc>直线实例</desc>
<line x1="100" y1="100" x2="100" y2="300"/>
<line x1="300" y1="100" x2="300" y2="300"/>
<line x1="500" y1="100" x2="500" y2="300"/>
<line x1="700" y1="100" x2="700" y2="300"/>
<line x1="900" y1="100" x2="900" y2="300"/>
</svg>

  实例1 浏览效果

图1 实例1执行效果

实例2 圆形实例

  这一个实例示范了如何绘制圆形的SVG语法。实例中,在座标(100,350)、(300,350)、(700,350)共绘制三个红色绿色、蓝色的圆形图形。

<?xml version="1.0" standalone="no"?>
<svg width="15cm" height="10cm" viewBox="0 0 1500 1000"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<desc>圆形实例</desc>
<circle cx="100" cy="350" r="100"
fill="red" stroke="blue" stroke-width="5" />
<circle cx="300" cy="350" r="200"
fill="green" stroke="blue" stroke-width="5" />
<circle cx="700" cy="350" r="300"
fill="blue" stroke="blue" stroke-width="5" />
</svg>

图2 圆型实例浏览效果

实例3 互动实例

图3 互动实例代码

  解释:
  1到4行:应该不需做多大的解释,XHTML1.1+MathML2.0+SVG1.1所用的文件形态宣告。
  5行:唯一需注意的是xml:lang表示这份文件是给zh-TW地区使用的。
  9行:会把rect1所表示的方块涂成红色。
  10行:当滑鼠移到rect1方块上方时,会涂上10像素大小的蓝色边框。
  11行:把text1所表示的文字涂上绿色,并使得文字的大小为16点。
  15到24行:是文件物件模型的用法,首先为rect1所表示的方块登记一个事件:当点选rect1方块时,执行Go()函数。而函数的功能是把方块从(20,20)移到(50,100)。
  29行:svg元素代表这是可变式向量图形,它的名称空间为http://www.w3.org/2000/svg,这是一定要写上去的并且指定可变式向量图形的版本。
  30行:在位置(20,20)处画上宽100高100的正方形。
  31行:在位置(40,50)处画上文字"点我一下"并使得文字旋转15度。

  看起来就像这样:

图4 互动实例显示效果

当在方块的上方按一下时,方块即会从(20,20)移到(50,100)。

(THE END)

分享到:
评论

相关推荐

    一些简单的svg小例子

    "一些简单的SVG小例子"这个压缩包可能包含了一系列基本的SVG图形示例,如圆形、矩形、线条、路径等,这些例子可能都是用纯SVG标记语言编写的。SVG的基本元素包括: 1. `&lt;svg&gt;`:这是SVG文档的根元素,定义了图形的...

    SVG简介及实例

    例如,一个简单的SVG实例可能是一个按钮,当鼠标悬停时,按钮颜色会改变;另一个复杂实例可能是一个数据图表,使用SVG路径绘制曲线图,并根据数据实时更新。 学习SVG,不仅需要掌握SVG的基本元素和属性,还需要理解...

    svg小例子(主要是鼠标事件)

    在本压缩包文件中,我们看到的是关于SVG元素与鼠标事件的一些简单实例,这对于初学者来说是很好的学习资源。 首先,我们要理解SVG中的基本元素。SVG包含多种图形元素,例如`&lt;rect&gt;`(矩形)、`&lt;circle&gt;`(圆形)、`...

    c/c++ svg转png, svg文件渲染例子

    接着,我们创建一个`PlutoRenderer`实例,传入解析后的SVG文档,以及目标PNG文件的宽度、高度。最后,调用`render()`方法将SVG渲染到PNG文件。 需要注意的是,实际使用时需要确保PlutoSVG库已经正确安装并在编译...

    HTML5 SVG简单的动态绘制轮廓线条动画插件.zip

    在"HTML5 SVG简单的动态绘制轮廓线条动画插件.zip"这个压缩包中,可能包含了一个或多个JavaScript文件(例如1987.js),这些文件提供了实现动态线条动画的函数和方法。开发者通常会将这样的插件集成到HTML页面中,...

    SVG 画动态线 实例

    这篇文章“SVG 画动态线 实例”可能探讨了如何使用SVG元素和JavaScript来创建动态的线条动画。SVG提供了多种绘制线条的元素,如`&lt;line&gt;`、`&lt;path&gt;`或者`&lt;polyline&gt;`,每种都有其特定的应用场景。 1. `&lt;line&gt;`元素:...

    .net 将SVG标签代码转成图片格式

    总结来说,使用.NET和SVG.dll库在VS2012中进行SVG到PNG的转换是一个简单的过程,主要包括导入SVG库、创建SVG文档实例、设置图像尺寸、渲染SVG到Bitmap,最后保存Bitmap为PNG文件。这个功能对于.NET开发者在处理SVG...

    简单的 SVG 实例(基本图形: 点、线、园、旋转等)

    本文将深入探讨SVG的基本图形元素,包括点、线、圆以及旋转等概念,通过实例来帮助你理解和掌握这些知识点。 首先,我们来看SVG中的基本图形——矩形(RECT)。在`rect.html`这个文件中,你可能会看到如何定义一个...

    svg简单应用

    总结了几个常见的svg用法的小例子。

    简单的滤镜文字svg特效.zip

    在本项目中,"简单的滤镜文字svg特效.zip" 是一个包含SVG滤镜效果的Web应用实例。SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它可以提供高质量的图形,并且在放大时不会失真。在这个案例中,...

    SVG自定义地图 自定义点点击触发事件

    以下是一个简单的例子: ```java public class SVGMapView extends View { private SVG svg; private Path pathForPoint; //... 初始化和加载SVG代码 public void addClickPoint(float x, float y) { ...

    svg帮助(一些小例子)

    - **基本形状**:如`&lt;circle&gt;`、`&lt;rect&gt;`、`&lt;line&gt;`等,用于创建简单的几何形状。 - **路径`&lt;path&gt;`**:通过一系列命令绘制复杂形状。 - **文本`&lt;text&gt;`**:在SVG图像中添加文本。 - **群组`&lt;g&gt;`**:将多个元素组合...

    svg圆形进度条插件svg-gauge

    **应用实例** 在实际的网页开发中,SVG-Gauge可以用于展示下载进度、加载状态、任务完成度等多种场景。例如,一个在线音乐播放器可以使用它来表示歌曲的播放进度,或者在一个数据可视化应用中,它可以用来表示数据...

    SVG概述(实例讲解)

    下面是一个简单的SVG示例,展示了一个红色的圆形: ```xml &lt;!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"&gt; &lt;svg width="100%" height="100%" version="1.1...

    SVG实例-可交互式中国地图

    例如,下面是一个简单的SVG路径数据示例,表示一个形状: ```xml ,0 L10,10 L20,0 Z" /&gt; ``` 为了使地图可交互,开发者通常会为这些元素添加点击事件监听器。在JavaScript中,这可以通过`addEventListener`方法...

    svg添加不同效果的提示信息

    总结,SVG添加提示信息主要通过`title`元素实现简单的提示,或者使用HTML、CSS和JavaScript进行自定义,以实现更丰富的交互体验。通过理解SVG的DOM操作和事件监听机制,我们可以创造出具有高度用户体验的SVG图形应用...

    Ajax在实时绘制SVG图表中的应用研究及实例详解

    一个简单的实例可能涉及创建一个动态的折线图,用户输入数据后,使用Ajax将数据发送到服务器,服务器对数据进行处理并返回,客户端接收并更新SVG折线图。通过监听用户的输入事件,触发Ajax请求,然后在回调函数中...

    网页中显示SVG图片

    以下是一个简单的例子,用JS改变SVG矩形的颜色: ```html &lt;svg id="mySVG" width="100" height="100"&gt; &lt;/svg&gt; document.getElementById('myRect').addEventListener('click', function() { this.style.fill =...

    svg精髓(第二版)

    11. **实例解析**:书中必定包含了丰富的实例,从简单的图标到复杂的图表,帮助读者掌握SVG的实践技巧。 通过阅读《SVG精髓(第二版)》,开发者不仅能深入理解SVG的基本概念,还能学习到高级用法,提升在Web开发中...

Global site tag (gtag.js) - Google Analytics