• HTML5 SVG


    1. SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
    2. SVG 用来定义用于网络的基于矢量的图形
    3. SVG 使用 XML 格式定义图形
    4. SVG 图像在放大或改变尺寸的情况下其图形质量不
    会有所损失
    5. SVG 是万维网联盟的标准
    6. SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个
    整体

    1. SVG 使用 XML 编写
    ① 他其实就是一个文本文件,交给浏览器解释执行
    2. 实例
     ①<?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 width="100%" height="100%" version="1.1"
     ⑤xmlns="http://www.w3.org/2000/svg">
     ⑥<circle cx="100" cy="50" r="40" stroke="black"
     ⑦stroke-width="2" fill="red"/>
     ⑧</svg>

    1. 第一行包含了 XML 声明。请注意 standalone 属性!该属性规定此 SVG 文
    件是否是“独立的”,或含有对外部文件的引用。
    2. standalone="no" 意味着 SVG 文档会引用一个外部文件 - 在这里,是 DTD
    文件。
    3. 第二和第三行引用了这个外部的 SVG DTD。该 DTD 位于
    “http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd”。该 DTD 位于 W3C,
    含有所有允许的 SVG 元素。
    4. SVG 代码以 <svg> 元素开始,包括开启标签 <svg> 和关闭标签 </svg> 。这
    是根元素。width 和 height 属性可设置此 SVG 文档的宽度和高度。version
    属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。
    5. SVG 的 <circle> 用来创建一个圆。cx 和 cy 属性定义圆中心的 x 和 y 坐标。
    如果忽略这两个属性,那么圆点会被设置为 (0, 0)。r 属性定义圆的半径。
    6. stroke 和 stroke-width 属性控制如何显示形状的轮廓。我们把圆的轮廓设置
    为 2px 宽,黑边框。
    7. fill 属性设置形状内的颜色。我们把填充颜色设置为红色。
    8. 关闭标签的作用是关闭 SVG 元素和文档本身。

    1. 使用 <embed> 标签
    ①<embed src="rect.svg" width="300" height="100"
    ②type="image/svg+xml"
    ③pluginspage="http://www.adobe.com/svg/viewer/install/" />
    2. 使用 <object> 标签
    ①<object data="rect.svg" width="300" height="100"
    ②type="image/svg+xml"
    ③codebase="http://www.adobe.com/svg/viewer/install/" />
    3. 使用 <iframe> 标签
    ①<iframe src="rect.svg" width="300" height="100">
    ②</iframe>
    <iframe> 标签可工作在大部分的浏览器中。

    1. 把 SVG 直接嵌入 HTML 页面
    ①<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
    height="190">
    ② <polygon points="100,10 40,180 190,60 10,60
    160,180"
    ③ style="fill:lime;stroke:purple;stroke-5;fill-
    rule:evenodd;" />
    ④</svg>

    1. 矩形
    ①<rect x="20" y="20" width="250" height="250"
    ②style="fill:blue;stroke:pink;stroke-5;
    ③fill-opacity:0.1;stroke-opacity:0.9"/>
    2. 圆形
    ①<circle cx="100" cy="50" r="40" stroke="black"
    ②stroke-width="2" fill="red"/>
    3. 线条
    ①<line x1="0" y1="0" x2="300" y2="300"
    ②style="stroke:rgb(99,99,99);stroke-2"/>
    4. 多边形
    ①<polygon points="220,100 ,300,210 ,170,250"
    ②style="fill:#cccccc;
    ③stroke:#000000;stroke-1"/>

    1. 先获取页面元素
    ①doc=document.getElementById("doc");
    2. 获取svg对象
    ①svg=one.getSVGDocument();
    3. 获取svg文档对象
    ①svgDoc=svg.documentElement;
    4. 获取svg文档对象节点
    circle=svgDoc.getElementsByTagName("circle")[0];

  • 相关阅读:
    推荐一个golang的json库
    TinyMind 多标签图像分类竞赛 之路
    动态环境下的slam问题如何解决?
    ubuntu16.04下安装opencv3.4.1及其扩展模块
    Ubuntu 16.04 编译OpenCV 问题解决stdlib.h: No such file or directory
    linux下升级gcc版本(gcc-7)
    基于LSD的直线提取算法
    PL-SLAM
    用U盘制作并安装WIN10 64位原版系统的详细教程(该方法应该适用于任何一版的原版操作系统)
    Win10正式版U盘安装教程
  • 原文地址:https://www.cnblogs.com/blesstian/p/6495342.html
Copyright © 2020-2023  润新知