SVG

作者: GeekJun | 来源:发表于2018-06-20 16:42 被阅读34次

    SVG的历史

    SVG的第一个版本是在2001年推出的。你没有听错,SVG在2001年就诞生了。尽管它一直在 发展,但是直到高分辨率设备的出现才被广泛注意和采用。下面是1.1规范中对SVG的介绍
    https://www.w3.org/TR/SVG11/intro.html):
    “SVG是XML[XML1.0]中用于描述二维图形的语言。SVG支持三种图形对象:矢量 图形形状(例如由直线和曲线组成的路径)、图像和文本。” 顾名思义,SVG允许在代码中使用矢量点来描述二维图像。这种优势使SVG被广泛应用到图 标、线条图和图表的表示中。
    因为矢量图是使用相对点来保存数据的,所以可以缩放到任意大小而不会损失清晰度。此外, 由于SVG仅仅保存矢量点,相比于同等尺寸的JPEG、GIF和PNG,其文件大小更小。
    SVG现在的浏览器支持度也相当不错,Android 2.3以上和IE9以上都支持(http://caniuse.com/ #search=svg)。

    SVG
    )

    用文档表示的图像

    通常情况下,如果你在文本编辑器里查看图像文件的代码,会不知所云。
    而SVG不同,它是使用标记式语言进行描述的。SVG使用XML(eXtensible Markup Language, 可拓展标记语言)来描述,XML是一种和HTML十分相似的语言。现今,XML在互联网上遍布 各地。你使用过RSS阅读器吗?它就是基于XML的。XML是包装RSS内容的语言,从而让它便于 被多种工具和服务使用。
    所以不仅机器可以阅读和理解SVG图像,我们也可以。
    让我举个例子。下面是一幅星星的图片:

    这是一张SVG图像,在example_07-01中被命名为Star.svg。如果你在浏览器中打开这个文件, 可以看到一个星星;如果你在文本编辑器里打开,会看到生成它的代码。

    这就是用于生成星星SVG图片所需的全部代码。 通常来说,如果你从未看过SVG代码,会好奇为什么我需要看这些代码。诚然,如果你只是 想在Web页面上显示这些矢量图像,你当然不需要查看代码。只要找一个图形应用,将你的矢量 图像保存为SVG格式就大功告成了。我们会在接下来列举这些应用。 尽管大部分情况下我们只会用图像编辑器来编辑SVG,但是明白SVG是如何构成的以及如何 调整它还是十分有用的,特别是你要控制它或者给它加上动画效果的时候。 所以,让我们好好研究一下SVG的标记语言,并且了解到底发生了什么。我希望你能注意到 以下几个关键点。

    SVG的根元素 SVG的根元素有width、height和viewbox属性。

    <svg width="198px" height="188px" viewBox="0 0 198 188" 这三个属性在SVG展示的时候都起到了十分重要的作用。
    希望现在你能很好地理解“视口”这个概念。在本书众多章节中它都用于描述在设备上能够 观看内容的面积。举个例子,一部手机的视口可能只有320像素宽480像素高,而桌面电脑则一般 有1920像素宽1080像素高。
    宽度和高度属性对于创造一个视口十分有用。透过这个定义的视口,我们可以看到内部定义
    7.2 用文档表示的图像 139
    1
    2
    3
    4
    5
    8
    6
    7
    8
    8
    的SVG形状。和普通的Web页面一样,SVG的内容可能会比视口大,但是这不意味着多余的部分 就不存在,只是我们看不到而已。
    而另一方面,视框(viewbox)则定义了SVG中所有形状都需要遵循的坐标系。
    你可以把视框值0 0 198 198视为对矩形左上角和右下角的描述。前两个值被称为min-x 和min-y,用于描述左上角的位置。而接下来的两个值被称作宽度和高度,可以描述右下角的位 置。
    因此viewbox属性可以让你缩放图片。例如,你可以这么设置viewbox属性:
    <svg width="198px" height="188px" viewBox="0 0 99 94" 那么其中的形状为了填满SVG的宽度和高度,就会被放大。

    相关文章

      网友评论

          本文标题:SVG

          本文链接:https://www.haomeiwen.com/subject/eoyxyftx.html