【可缩放向量图形】
这张图片展示了位图和矢量图的分别。位图是由点构成的，矢量图则是由一些形状元素构成。该图中显示放大位图可以看到点，而放大矢量图看到的仍然是形状。SVG属于矢量图，因此能够无级缩放，而不会产生马赛克
可缩放矢量图形（Scalable Vector Graphics，缩写：SVG）是一种基于可扩展标记语言（XML），用于描述二维矢量图形的图形格式。SVG由W3C制定，是一个开放标准。
== SVG概述 ==
SVG由1998年成立的W3C SVG工作组启动开发，随着当年提交给W3C的六份标准提案而开展。
SVG允许3种图形物件类型：矢量图形、栅格图像以及文本。图形物件——包括PNG、JPEG这些栅格图像——能够被编组、设计、转换及整合进先前的渲染物件中。文本可以在任何适用于应用程序的XML命名空间之内，从而提高SVG图形的搜索能力和无障碍性。SVG提供的功能集涵盖了嵌套转换、Clipping path、Alpha通道、滤镜效果、模板对象以及可扩展性。
SVG严格遵从XML语法，并用文本格式的描述性语言来描述图像内容，因此是一种和图像分辨率无关的矢量图形格式。
SVG格式具有以下优点：
* 图像文件可读，易于修改和编辑（理论上如此，但实际上却是因为各种不同的SVG档编辑器而可能储存成不易解读的SVG档案）。
* 与现有技术可以互动融合。例如，SVG技术本身的动态部分（包括时序控制和动画）就是基于SMIL标准。另外，SVG文件还可嵌入JavaScript（严格地说，应该是ECMAScript）脚本来控制SVG对象。
* SVG图形格式可以方便的建立文字索引，从而实现基于内容的图像搜索。
* SVG图形格式支持多种滤镜和特殊效果，在不改变图像内容的前提下可以实现位图格式中类似文字阴影的效果。
* SVG图形格式可以用来动态生成图形。例如，可用SVG动态生成具有交互功能的地图，嵌入网页中，并显示给终端用户。
SVG格式具有以下缺点：
* 如何和已经占有重要市场份额的矢量图形格式Adobe Animate（旧称Adobe Flash）竞争的问题。事实上，Adobe Animate在Flash CC 2014版及以后的版本就都支持直接导出SVG文件。
* SVG的本地运行环境下的厂家支持程度。
* 由于原始的SVG档是遵从XML语法，导致资料采用未压缩的方式存放，因此相较于其他的矢量图形格式，同样的档案内容会比其他的档案格式稍大。Adobe因此使用gzip压缩开发出压缩的SVG档格式，附档名为 .svgz， 但此种档案格式除了Adobe旗下的软体以外，未被广泛支援使用。
* 旧版的SVG Viewer无法正确显示出使用新版SVG格式的矢量图形。
=== SVG Basic ===
SVG Basic又称SVGB，是英语「Scalable Vector Graphics, Basic Profile」的简写，可以翻译为「可缩放的矢量图形标准的基本版」。它是SVG的一个子集，而主要目标是为掌上电脑等高端移动设备提供矢量图形显示格式。
=== SVG Tiny ===
SVG Tiny又称SVGT，是英语「Scalable Vector Graphics, Tiny Profile」的简写，可以翻译为「可缩放的矢量图形标准的微型简化版本」。它也是SVG的一个子集，而主要目标是为手机等低端移动设备提供矢量图形显示格式。
=== SVG动画 ===
主条目：SVG animation
== SVG技术细节 ==
SVG主要支持以下几种显示对象：
# 矢量显示对象，基本矢量显示对象包括矩形、圆、椭圆、多边形、直线、任意曲线等
# 嵌入式外部图像，包括PNG、JPEG、SVG等
# 文字对象
SVG可以实现动态和交互功能。在DOM模型的基础上，SVG开发设计人员可以利用ECMAScript或者SMIL来进行时序控制或对象的操纵。SVG虽然是文本格式，但是SVG支持利用gzip压缩算法减少文件尺寸，压缩后的文件通常用被称为「SVGZ文件」。
== 标准制定开发历史 ==
SVG由1998年成立的W3C SVG工作组启动开发，随着当年提交给W3C的六份标准提案应运而生：
* Web Schematics，来自CCLRC
* PGML，来自Adobe Systems、IBM、网景和升阳电脑
* VML，来自Autodesk、惠普、Macromedia、微软和Vision
* Hyper Graphics Markup Language (HGML)，来自Orange UK和普利茅斯大学
* WebCGM，来自波音、InterCAP Graphics Systems、Inso Corporation、CCLRC和施乐
* DrawML，来自Excosoft AB
当时工作组是由W3C的Chris Lilley领衔。
* 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 1.1（第2版），成为W3C目前推荐的标准。
* W3C目前仍正在研究制定SVG 2，目前最新的草稿发布见 此 date=20210210184527 。
== 示例 ==
SVG格式是XML的一种，意即SVG文件其实只是普通的文本文件，用一般的文本编辑器便可查看或修改。
== SVG显示 ==
=== 插件支持 ===
目前，最常用的SVG插件来自Adobe公司（ Adobe SVG Viewer date=20121016160722 ），另外Corel也提供SVG浏览器（ Corel SVG Viewer）。然而前者宣布于2009年1月1日停止对该产品的支持。
=== 原生支持 ===
* 比较著名的SVG项目包括 Mozilla SVG Project date=20110217090831 ，KDE的KSVG，以及Amaya等。
* Mozilla Firefox自版本1.5发行后，即开始 支援SVG格式的显示 date=20080514224757 。
* Opera 8.0 版开始支援显示Tiny 1.1规格的SVG。
* 基于Java的SVG项目主要有Batik SVG Toolkit等。
* Google Chrome和Safari支持SVG显示。
* Microsoft的Internet Explorer 8.0版及其更老的版本尚未支援SVG，直至由Internet Explorer 9.0版开始支援SVG。
=== 各种SVG解释器支持程度比较 ===
W3C的SVG网站上有一个测试套件可以用来测试SVG解释器对于标准的支持。这个套件既可以在线运行也可以下载到本地运行。截至2007年中，对于流行的SVG软件有如下测试结果：
* 对SVG支持最好的浏览器是Opera，它支持大多数的SVG特性。
* 作为专门的SVG浏览器，Batik SVG viewer能对大多数特性有良好支持，与Opera不相伯仲。但它不能和浏览器互动。
* 加载了Adobe SVG Viewer的Internet Explorer也能支持多数SVG特性，但是由于没有浏览器的原生支持，在交互方面许多特性不支持。
* Mozilla Firefox 2.0对SVG特性的支持相当弱，许多重要特性如动画等都不能支持。
== 设计工具 ==
能够设计SVG图形作品的软件工具包括Adobe Illustrator、Adobe Photoshop CC、Visio、Xmind8以及CorelDRAW等。
而开放源代码的软件有Scribus、Karbon14、Inkscape以及Sodipodi等。
另外也有开放源码、功能简单但容易操作、免安装的在线SVG设计工具，例如 Svg-edit date=20161212134936 ，该软件现在位于 Github date=20210212002830 上。
对于移动设备，安卓系统则可以使用  PainterSVG date=20210528002808 。
== 参考文献 ==