SVG学习笔记一

基本概念

1. 图形系统

计算机中描述图形信息的两大图形系统:栅格图形和矢量图形。栅格图形中图形被表示为图片元素或者像素的长方形数组。矢量图形中图形被描述为一系列几何形状,通过矢量图形阅读器在指定的坐标集上绘制形状。

2. SVG(Scalable Vector Graphics)

SVG是一种XML应用,用来表示矢量图形。所有的图形有关信息被存储为纯文本,具有XML的开放性、可移植性和可交互性。

SVG文档结构是标准的XML文档,根元素svg定义图形的大小,根元素中包含各种的形状元素。SVG允许使用单独的属性指定元素的样式。

SVG使用g元素对图形进行分组,使用use元素实现元素的复用。

3.SVG 的优势
  • SVG 可被非常多的工具读取和修改(比如记事本)

  • SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强。

  • SVG 是可伸缩的

  • SVG 图像可在任何的分辨率下被高质量地打印

  • SVG 可在图像质量不下降的情况下被放大

  • SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图)

  • SVG 可以与 Java 技术一起运行

  • SVG 是开放的标准

  • SVG 文件是纯粹的 XML

HTML 页面中的 SVG

1. 将SVG作为图像

将svg作为图像包含在HTML标记的img元素内,但是这样有一定的局限性:SVG转为栅格图像时与主页面分离,并且无法在两者之间通信(SVG渲染过程与主页面独立)。主页面上的样式对SVG无效,运行在主页面上的脚本无法感知或者修改SVG文档结构。

在CSS中包含SVG,最常用的是background-image属性,应该避免SVG元素文件太大。

2. 将SVG作为应用程序

使用object元素将SVG嵌入HTML文档中,object元素的type属性表示要嵌入的文档类型,对用SVG应该是type="image/svg+xml"。object元素必须有起始标签和结束标签,这两个标签之间的内容为对象数据本身不能被渲染时显示。

当在 HTML 页面中嵌入 SVG 时使用 标签是 Adobe SVG Viewer 推荐的方法!然而,如果需要创建合法的 XHTML,就不能使用 。任何 HTML 规范中都没有 标签。

使用