SVG基礎(chǔ)知識(shí)

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>標(biāo)簽
是一個(gè)容器標(biāo)簽,用來(lái)組合元素的
(1)只對(duì)于所有圖形共有的屬性起作用,例如stroke fill等屬性
(2)但是對(duì)于各個(gè)圖形特有的屬性,<g>標(biāo)簽不能使用,但是可以使用transform:tanslate(0,0)來(lái)實(shí)現(xiàn)平移

<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>標(biāo)簽
在svg中添加文本
(1)x y text-anchor
6、<image>標(biāo)簽
(1)x y widht height
(2)xlink:href
7、創(chuàng)建SVG標(biāo)簽

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、一個(gè)創(chuàng)建SVG標(biāo)簽封裝

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: 空格(逗號(hào))來(lái)隔開(kāi)坐標(biāo)點(diǎn)
10、路徑標(biāo)簽
path 通過(guò)繪制坐標(biāo)點(diǎn)形成一個(gè)想要的圖形,
-d屬性
M L H V A Z
C S Q T
M(起點(diǎn)位置,如果在路徑中重新設(shè)置一個(gè),則有一個(gè)新的起點(diǎn))
L(終點(diǎn)位置,如果在路徑中重新設(shè)置一個(gè) ,則會(huì)繼續(xù)延伸)
Z(閉合位置,如果出現(xiàn)在一個(gè)有M L構(gòu)成路徑中,則Z前面的路徑會(huì)閉合)
H(水平繪制,例如M50 100H200,H只用寫(xiě)一個(gè)坐標(biāo)值,因?yàn)樗嚼L制Y坐標(biāo)肯定是已知的。V同理)
如果換成小寫(xiě),就是相對(duì)之前操作點(diǎn)的相對(duì)坐標(biāo)。
A(繪制一段弧形
x半徑:
Y半徑:
角度:
弧長(zhǎng):(0小弧,1大弧)
方向:(0逆時(shí)針,1順時(shí)針)
終點(diǎn)X坐標(biāo):
終點(diǎn)Y坐標(biāo):

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 一.什么是SVG? SVG 指的是可伸縮矢量圖形 (Scalable Vector Graphics),它用來(lái)定義...
    nightZing閱讀 17,110評(píng)論 11 62
  • 一:canvas簡(jiǎn)介 1.1什么是canvas? ①:canvas是HTML5提供的一種新標(biāo)簽 ②:HTML5 ...
    GreenHand1閱讀 4,719評(píng)論 2 32
  • 一:什么是SVG? 對(duì)于SVG的定義如下: ①:SVG 指的是可伸縮矢量圖形 (Scalable Vector G...
    GreenHand1閱讀 828評(píng)論 0 1
  • 轉(zhuǎn)載請(qǐng)聲明 原文鏈接 關(guān)注公眾號(hào)獲取更多資訊 這篇文章主要總結(jié)H5的一些新增的功能以及一些基礎(chǔ)歸納,這里只是一個(gè)提...
    前端進(jìn)階之旅閱讀 9,108評(píng)論 22 225
  • 一、什么是SVG? SVG指可伸縮矢量圖形(Scalable Vector Graphics); SVG用來(lái)定義用...
    清心挽風(fēng)閱讀 1,413評(píng)論 1 3