美文网首页
SVG基础知识

SVG基础知识

作者: MakingChoice | 来源:发表于2016-06-17 23:45 被阅读105次

1、cycle
(1)cx cy r
(2)fill stroke stroke-width transparent
(3) style方式
2、rect
(1)width height x y
(2) rx ry
3、line
(1)x1 x2 y1 y2
(2)stroke-opacity

4、<g>标签
是一个容器标签,用来组合元素的
(1)只对于所有图形共有的属性起作用,例如stroke fill等属性
(2)但是对于各个图形特有的属性,<g>标签不能使用,但是可以使用transform:tanslate(0,0)来实现平移

<g transform="translate(0,0)" stroke-width="5" stroke="red">
     <circle r="40" fill="transparent"></circle>
     <circle r="30" fill="transparent"></circle>
     <circle r="20" fill="transparent"></circle>
</g>

5、<text>标签
在svg中添加文本
(1)x y text-anchor
6、<image>标签
(1)x y widht height
(2)xlink:href
7、创建SVG标签

var svgNS='http://www.w3.org/2000/svg'
var oSVG=document.createElementNS(svgNS,'svg');
oSVG.setAttribute('xmls',svgNS);
oSVG.setAttribute('width':100%);
oSVG.setAttribute('height':100%);
var parent=document.getElementById('');
parent.appendChild(oSvg);

8、一个创建SVG标签封装

var svgNS='http://www.w3.org/2000/svg'
    var oSVG=document.getElementById("svgContent");
    function createTag(tag,objectAttributes){
        var tag=document.createElementNS(svgNS,tag);
        for(var key in objectAttributes){
            // tag[key]=objectAttributes[key];
            tag.setAttribute(key,objectAttributes[key])
        }
        return tag;
    }
    var svg=createTag('svg',{
        "xmlns":"svgNS",
        "width":"100%",
        "height":"100%"
    });
    var g=createTag('g',{
        "style":"cursor:pointer"
    })
    var line1=createTag('line',{
        "x1":"100",
        "y1":"100",
        "x2":"390",
        "y2":"200",
        "stroke":"#ACD2DE"
    })
    var line2=createTag('line',{
        "x1":"100",
        "y1":"100",
        "x2":"390",
        "y2":"200",
        "stroke":"transparent",
        "stroke-width":"6",
    })
    var rect=createTag('rect',{
        "x":"235",
        "y":"140",
        "width":"20",
        "height":"20",
        "fill":"#999",
        "rx":"5"
    })
    var text=createTag("text",{
        "x":"245",
        "y":"157",
        "fill":"white",
        "font-size":"20",
        "text-anchor":"middle"
    })
    oSVG.appendChild(svg);
    svg.appendChild(g);
    text.innerHTML="?";
    g.appendChild(line1);
    g.appendChild(line2);
    g.appendChild(rect);
    g.appendChild(text);

9、折线
polyline:折线
point: 空格(逗号)来隔开坐标点
10、路径标签
path 通过绘制坐标点形成一个想要的图形,
-d属性
M L H V A Z
C S Q T
M(起点位置,如果在路径中重新设置一个,则有一个新的起点)
L(终点位置,如果在路径中重新设置一个 ,则会继续延伸)
Z(闭合位置,如果出现在一个有M L构成路径中,则Z前面的路径会闭合)
H(水平绘制,例如M50 100H200,H只用写一个坐标值,因为水平绘制Y坐标肯定是已知的。V同理)
如果换成小写,就是相对之前操作点的相对坐标。
A(绘制一段弧形
x半径:
Y半径:
角度:
弧长:(0小弧,1大弧)
方向:(0逆时针,1顺时针)
终点X坐标:
终点Y坐标:

相关文章

网友评论

      本文标题:SVG基础知识

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