zoukankan      html  css  js  c++  java
  • SVG

      (一)SVG 简介

    一.SVG是什么:

    SVG是英文“Scalable Vector Graphics”的简称,如果翻译成中文就是“可缩放矢量图形”。
    它是基于可扩展标记语言(XML)(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式。
    它由万维网联盟制定,是一个开放标准。
    二.SVG主要特点:
    (1).SVG是指可伸缩矢量图形。
    (2).SVG用来定义用于网络的基于矢量的图形。
    (3).SVG使用XML格式定义图形。
    (4).SVG图像在放大或缩小(改变尺寸)的情况下,其图形质量不会受受损失。
    (5).SVG是W3C的一个标准。
    三.SVG主要优势:
    (1).SVG可被非常多的工具读取和修改(比如记事本)。
    (2).SVG与JPEG和GIF图像比起来,尺寸更小,且可压缩性更强。
    (3).SVG是可伸缩的。
    (4).SVG图像可在任何的分辨率下被高质量地打印。
    (5).SVG可在图像质量不下降的情况下被放大。
    (6).SVG图像中的文本是可选的,同时也是可搜索的(很适合制作地图)。
    (7).SVG可以与Java技术一起运行。
    (8).SVG是开放的标准。

    (9).SVG文件是纯粹的XML。

    查看 SVG 文件

    Internet Explorer9,火狐,谷歌Chrome,Opera和Safari都支持SVG。

    IE8和早期版本都需要一个插件 - 如Adobe SVG浏览器,这是免费提供的。

    创建SVG文件

    由于SVG是XML文件,SVG图像可以用任何文本编辑器创建,但它往往是与一个绘图程序一起使用,如Inkscape,更方便地创建SVG图像。

    简单的 SVG 实例

    这里是SVG文件(SVG文件的保存与SVG扩展):

    实例:<?xml version="1.0" standalone="no"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

    <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
      <circle cx="100" cy="50" r="40" stroke="black"
      stroke-width="2" fill="red" />
    </svg>

    SVG 代码解析:

    第一行包含了 XML 声明。请注意 standalone 属性!该属性规定此 SVG 文件是否是"独立的",或含有对外部文件的引用。

    standalone="no" 意味着 SVG 文档会引用一个外部文件 - 在这里,是 DTD 文件。

    第二和第三行引用了这个外部的 SVG DTD。该 DTD 位于 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"。该 DTD 位于 W3C,含有所有允许的 SVG 元素。

    SVG 代码以 <svg> 元素开始,包括开启标签 <svg> 和关闭标签 </svg> 。这是根元素。width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。

    SVG 的 <circle> 用来创建一个圆。cx 和 cy 属性定义圆中心的 x 和 y 坐标。如果忽略这两个属性,那么圆点会被设置为 (0, 0)。r 属性定义圆的半径。

    stroke 和 stroke-width 属性控制如何显示形状的轮廓。我们把圆的轮廓设置为 2px 宽,黑边框。

    fill 属性设置形状内的颜色。我们把填充颜色设置为红色。

    关闭标签的作用是关闭 SVG 元素和文档本身。

    注释:所有的开启标签必须有关闭标签!

    嵌入HTML的SVG:

    SVG不但可以单独形成一个文件,也可以直接嵌入到HTML代码之中。

    代码实例如下:<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落</title> </head> <body> <svg xmlns="http://www.w3.org/2000/svg" version="1.1">   <circle           cx="100" cy="50"           r="40"           stroke="black"           stroke-width="5"           fill="green" /> </svg> </body> </html>
    SVG如何在web中使用:
    一.直接嵌入到HTML中;
    二.使用<embed>标签:
    可以使用此标签将SVG文件引入到当前页面。

    代码如下:

    <embedsrc="circle.svg"type="image/svg+xml"/>

    三.通过object标签引入:
    可以使用object标签引入外部svg文件到当前页面。

    代码实例如下:

    <object data="circle.svg" type="image/svg+xml"></object>

    四.作为背景图片引入:

    可以作为元素的背景引入,代码实例如下:

    div {
      background: url("circle.svg") no-repeat center;
      background-size : 100px 100px;
    }

     五.通过iframe引入:

    通过iframe也可以引入svg,代码如下:

    <iframesrc="circle.svg"></iframe>

    六.通过<img>标签引入:

    通过此标签也可以引入svg文件,就等同于一个图片,代码如下:

    <img src="circle.svg"/>

    七.链接到svg文件:

    可以直接通过超链接访问svg文件,代码如下:

    <a href="circle1.svg">蚂蚁部落</a>




  • 相关阅读:
    洛谷1012 拼数
    洛谷1012 拼数
    洛谷 1155 (NOIp2008)双栈排序——仔细分析不合法的条件
    bzoj 3566 [SHOI2014]概率充电器——树型
    bzoj 1415 [Noi2005]聪聪和可可——其实无环的图上概率
    洛谷 1291 [SHOI2002]百事世界杯之旅
    洛谷 1365 WJMZBMR打osu! / Easy
    洛谷 1297 [国家集训队]单选错位——期望
    洛谷 1099 ( bzoj 1999 ) [Noip2007]Core树网的核
    洛谷 2827 蚯蚓——相邻两个比较的分析
  • 原文地址:https://www.cnblogs.com/yangyang63963/p/6224083.html
Copyright © 2011-2022 走看看