zoukankan      html  css  js  c++  java
  • SVG自整理

    1.什么是SVG?

    SVG 指可伸缩矢量图形 (Scalable Vector Graphics)

    SVG 用来定义用于网络的基于矢量的图形

    SVG 使用 XML 格式定义图形

    SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失

    2.简单的 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 元素。
    • width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。
    • SVG 的 <circle> 用来创建一个圆。cx 和 cy 属性定义圆中心的 x 和 y 坐标。如果忽略这两个属性,那么圆点会被设置为 (0, 0)。r 属性定义圆的半径。
    • stroke 和 stroke-width 属性控制如何显示形状的轮廓。我们把圆的轮廓设置为 2px 宽,黑边框。
    • fill 属性设置形状内的颜色。我们把填充颜色设置为红色。

    3.SVG 矩形 - <rect>

    <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
      <rect x="50" y="20" width="150" height="150" style="fill:blue;stroke:pink;stroke-5;fill-opacity:0.1; stroke-opacity:0.9"/>
    </svg>

    4.SVG 圆形 - <circle>

    <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>

    5.SVG 椭圆 - <ellipse>

    <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
      <ellipse cx="300" cy="80" rx="100" ry="50" style="fill:yellow;stroke:purple;stroke-2"/>
    </svg>

    6.SVG 直线 - <line>

    <svg xmlns="http://www.w3.org/2000/svg" version="1.1">

        //x1 属性在 x 轴定义线条的开始

        //y1 属性在 y 轴定义线条的开始

        //x2 属性在 x 轴定义线条的结束

        //y2 属性在 y 轴定义线条的结束

        <line x1="0" y1="0" x2="200" y2="200" style="stroke:rgb(255,0,0);stroke-2"/>

      </svg>

    7.SVG 路径 - <path>

    <path> 元素用于定义一个路径。

    下面的命令可用于路径数据:

    • M = moveto
    • L = lineto
    • H = horizontal lineto
    • V = vertical lineto
    • C = curveto
    • S = smooth curveto
    • Q = quadratic Bézier curve
    • T = smooth quadratic Bézier curveto
    • A = elliptical Arc
    • Z = closepath
    <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
      <path d="M150 0 L75 200 L225 200 Z" />
    </svg>

    命令详细用法请参见:https://developer.mozilla.org/zh-CN/docs/Web/SVG/Tutorial/Paths

    svg动画请参考:http://www.zhangxinxu.com/wordpress/2014/08/so-powerful-svg-smil-animation/

    8.SVG 文本 - <text>

    
    

    <!-- 普通文本 -->

    <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
      <text x="0" y="15" fill="red">I love SVG</text>
    </svg>
    
    

    <!-- 转动文本 -->

    <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
      <text x="0" y="15" fill="red" transform="rotate(30 20,40)">I love SVG</text>
    </svg>
    
    

    <!-- 链接文本 -->

    <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink">
      <a xlink:href="http://www.w3schools.com/svg/" target="_blank"> 
        <text x="0" y="15" fill="red">I love SVG</text>
      </a>
    </svg>

     //其他用法后序补上

     

  • 相关阅读:
    第五周学习进度
    第四周学习进度
    四则运算三
    第三周学习进度
    软件工程个人作业—四则运算2
    软件工程个人作业01
    软件工程概论—用户登录界面
    构建之法读书笔记06
    构建之法读书笔记05
    构建之法读书笔记04
  • 原文地址:https://www.cnblogs.com/nlj-blog/p/7340165.html
Copyright © 2011-2022 走看看