`
yydcj
  • 浏览: 60354 次
  • 性别: 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的朋友一看就明白了。很简单,写程序时配合javascrpt一起用

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

    鼠标点击,鼠标移走,可以更换图元,都是些简单实用的小例子,有助新手学习.

    svg简单应用

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

    svg帮助(一些小例子)

    svg例子 看了就入门,很简单 看了就知道

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

    几个冗到一起的 SVG 例子,可以学习参考使用。建议下载后分成多个网页,不然看着有点晕。

    SVG精髓:第2版

    《SVG精髓(第2版)》通过实例透彻讲解了SVG(可缩放矢量图形)这种标记语言的规范及应用。作者从简单的SVG应用开始,带领读者逐步探索了SVG的复杂功能,包括滤镜、变换、渐变和模式。从应用层面看,本书涵盖了动画...

    Eclipse 的svg插件batik-plugin

    举个例子,通过使用batik的SVGGernerate模块,java应用程序和Applet可以非常简单的使输出图像的格式为SVG。使用batik的SVG viewing component, 应用程序或者Applet可以非常容易的整合SVG查看和交互功能。另外还可以...

    2个svg拖动的实现的例子,经过简单修改就可以用了

    使用svg有一段时间了,对于svg的拖动事件一直没办法解决,最后找到一个解决办法,虽然不是原创,但是对大家肯定有用(特别是跟我一样在此问题一直苦恼的童鞋),压缩包里有2个文件,一个是拖动单个元素的,一个是整体拖动的,...

    SVG精髓第二版

    《SVG精髓(第2版)》通过实例透彻讲解了SVG(可缩放矢量图形)这种标记语言的规范及应用。作者从简单的SVG应用开始,带领读者逐步探索了SVG的复杂功能,包括滤镜、变换、渐变和模式。从应用层面看,本书涵盖了动画...

    SVG/HTML5动画图标 可用作图标菜单导航

    毋庸置疑,SVG是这款图标的核心代码,图标的外观均是采用SVG路径绘制而成,这里我们挑选第一个图标作为例子,SVG代码如下: &lt;svg version="1.1" id="web-skill" xmlns:xlink=...

    html js控制svg图片的缩放拖动可运行精品实例

    html 利用js 控制svg矢量图 ,实现无极缩放(放大缩小不失真) 自己组织的简单可学习实例 ,"暴雪出品,必属精品

    SVG精髓 第2版 (中文+英文)

    本书通过实例透彻讲解了SVG(可缩放矢量图形)这种标记语言的规范及应用。作者从简单的SVG应用开始,带领读者逐步探索了SVG的复杂功能,包括滤镜、变化、渐变和模式...

    图像svg显示.rar_svg

    简单svg图像的使用,实例,和自己做的一个小程序

    SVG Map教程(有demo)

    非常简单清晰的教程,还有实例Demo,对大家一定有很大的用处!

    svg_schematic:无需鼠标即可生成SVG原理图和框图

    简单的例子这是一个简单的示例,演示了该软件包。 它生成了并联RLC电路的原理图: from svg_schematic import Schematic , Resistor , Capacitor , Inductor , Wirefrom inform import Error , error , os_errortry ...

    svg-tree-drawer:使用SVG和JavaScript绘制树结构

    SVG树抽屉该项目提供了一个JavaScript库,用于构造树结构的交互式SVG图像。 这在描述语言学和计算机科学中常见的...例子以下屏幕快照链接到示例的交互式SVG图像: 注意:此示例将XHTML( application/xhtml+xml ),X

    svg2image:简单的 svg 字符串 -> PNGJPEG 转换器

    SVG2Image 简单的 SVG 字符串转换为 PNG 或 JPEG。例子 var Exporter = require ( 'svg2image' ) ;var div = window . document . createElement ( 'div' ) ;var canvasContainer = document . body . appendChild ...

    simple-svg-placeholder:一个非常简单的占位符图像生成器,具有零依赖性

    简单的SVG占位符 一个非常简单的占位符图像生成器,具有零依赖性。 返回数据URI(或原始SVG源)作为用于模板的字符串。 入门 该软件包可通过npm安装: npm i --save @cloudfour/simple-svg-placeholder 安装后,您...

    workflow-svg.js:以 SVG 格式呈现和编辑工作流的 JS 库

    为您的项目包含和配置它很简单。 在上看一个真实的例子。如何包含使用npm i workflow-svg.js安装库。 就这些。 安装时,将安装两个额外的库。 首先导入它们: svg.js: [removed][removed] svg.draggable.js ...

Global site tag (gtag.js) - Google Analytics