SVG - 概述
什么是 SVG?
- SVG,可缩放矢量图形是一种基于 XML 的语言,用于定义基于矢量的图形。
- SVG 旨在通过 Web 显示图像。
- 作为矢量图像,SVG 图像无论如何缩小或调整大小都不会降低质量。
- SVG 图像支持交互性和动画。
- SVG 是 W3C 标准。
- 其他图像格式(如光栅图像)也可以与 SVG 图像混合在一起。
- SVG 与 HTML 的 XSLT 和 DOM 很好地集成在一起。
SVG 优点
- 使用任何文本编辑器创建和编辑 SVG 图像。
- SVG 图像基于 XML,可搜索、可索引,并且可以编写脚本和压缩。
- SVG 图像具有高度可扩展性,因为无论如何缩小或调整大小,它们都不会降低质量
- 在任何分辨率下都具有良好的打印质量
- SVG 是一种开放标准
SVG缺点
- 与二进制格式的光栅图像相比,文本格式的大小更大。
- 即使对于小图像,尺寸也可以很大。
以下 XML 代码段可用于在 Web 浏览器中绘制一个圆圈。
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="red" stroke-width="2" fill="green" />
</svg>
将 SVG XML 直接嵌入到 HTML 页面中。
testSVG.htm
<html>
<title>SVG Image</title>
<body>
<p>简单 SVG 图像</p>
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="red" stroke-width="2" fill="green" />
</svg>
</body>
</html>
输出
在 Chrome Web 浏览器中打开 textSVG.htm。您可以使用 Chrome/Firefox/Opera 直接查看 SVG 图像,无需任何插件。在 Internet Explorer 中,需要 activeX 控件才能查看 SVG 图像。
简单 SVG 图像
SVG 如何与 HTML 集成
- <svg> 元素表示 SVG 图像的开头。
- <svg> 元素的 width 和 height 属性定义 SVG 图像的高度和宽度。
- 在上面的示例中,我们使用了 <circle> 元素来绘制一个圆。
- cx 和 cy 属性表示圆心。默认值为 (0,0)。r 属性表示圆的半径。
- 其他属性 stroke 和 stroke-width 控制圆的轮廓。
- fill 属性定义圆的填充颜色。
- Closing</svg> 标签表示 SVG 图像的结尾。