<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一篇文章教會(huì)你使用SVG 畫多邊形

          共 3199字,需瀏覽 7分鐘

           ·

          2021-03-22 08:37

          點(diǎn)擊上方“前端進(jìn)階學(xué)習(xí)交流”,進(jìn)行關(guān)注

          回復(fù)“前端”即可獲贈(zèng)前端相關(guān)學(xué)習(xí)資料

          鏡湖三百里,菡萏發(fā)荷花。

          大家好,我是前端進(jìn)階者。

          polygon元素定義了一個(gè)由一組首尾相連的直線線段構(gòu)成的閉合多邊形形狀,最后一點(diǎn)連接到第一點(diǎn)。<polygon>元素通常用于繪制具有多個(gè)(3個(gè)或更多)側(cè)面/邊緣的形狀。

          一、 Polygon 畫多邊形

          簡(jiǎn)單的SVG多邊形:

          <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title>  <body style="background-color: aqua;">

          <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
          <polygon points="10,0 60,0 35,50" style="stroke:#660000; fill:#cc3333;" /></svg>
          </body></html>

          運(yùn)行后效果如下:

          028f5d4c64ff39bedb425ee0955f6e27.webp

          解析:

          即使僅列出了3個(gè)點(diǎn),也都繪制了所有3個(gè)面。這是因?yàn)?<polygon>元素在所有點(diǎn)之間繪制線,包括從最后一個(gè)點(diǎn)到第一個(gè)點(diǎn)的一條線。該<polyline>不會(huì)從最后一點(diǎn)到第一畫線。

          這似乎是<polygon><polyline>元素的唯一區(qū)別。


          二、繪制不規(guī)則四邊形

          下面的示例創(chuàng)建一個(gè)四邊的多邊形:

          下面是SVG代碼:

          <!DOCTYPE html><html><body style="background-color: aqua;">
          <svg height="250" width="500"><polygon points="220,10 300,210 170,250 123,234" style="fill:lime;stroke:purple;stroke-width:1" /></svg>
          </body></html>

          796d956dcb304f43f5554f801a1489e0.webp


          三、繪制六邊形

          代碼如下:

          <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title>    <body style="background-color: aqua;"><svg width="120" height="120" viewPort="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg" style="stroke:#660000; fill:#cc3333;"><polygon points="60,20 100,40 100,80 60,100 20,80 20,40" /></svg>
          </body></html>

          運(yùn)行效果如下:

          56de0a8dff5381ab9939b07c7ec02920.webp

          四、八邊形

          8個(gè)邊的多邊形(八邊形):

          <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title>  <body style="background-color: aqua;"><svg xmlns="http://www.w3.org/2000/svg"           xmlns:xlink="http://www.w3.org/1999/xlink"><polygon points="50,5   100,5 125,30 125,80 100,105                   50,105 25,80 25, 30" style="stroke:#660000; fill:#cc3333; stroke-width: 3;" /></svg>
          </body></html>

          運(yùn)行效果如下:

          4357206decdf5c492e600ca15f664a90.webp


          五、SVG 畫五角星

          案例

          使用 <polygon> 元素創(chuàng)建一個(gè)星型:

          代碼如下:

          <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title>    <body style="background-color: aqua;"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320"><polygon points="100,10 40,180 190,60 10,60 160,180" style="fill:red; stroke:purple; stroke-width:5;fill-rule:nonzero;"/></svg>
          </body></html>

          運(yùn)行后效果如下:

          d161712869152964984140057dad4239.webp

          改變 fill-rule 屬性為 "evenodd":

          下面是SVG代碼:

          <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><body style="background-color: aqua;"><svg height="210" width="500"><polygon points="100,10 40,198 190,78 10,78 160,198" style="fill:red;stroke:purple;stroke-width:5;fill-rule:evenodd;" /></svg>
          </body></html>

          運(yùn)行效果:

          5b7282f4aad6dd6c896f0b36f9481b19.webp

          六、總結(jié)

          本文基于Htm基礎(chǔ),介紹了如何去畫多邊形,通過(guò)Polygon元素變換參數(shù)畫不一樣的的多邊形。(四邊形,如六邊形,八邊形等等),最后重點(diǎn)講解了如何去畫五角星,講解畫五角星時(shí)需要注意的點(diǎn),在轉(zhuǎn)換過(guò)程中,改變 fill-rule 屬性繪制不一樣的五角星圖像。通過(guò)豐富的案例分析,希望讀者能夠更好的去理解和學(xué)習(xí)。

          歡迎大家積極嘗試,有時(shí)候看到別人實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,但是到自己動(dòng)手實(shí)現(xiàn)的時(shí)候,總會(huì)有各種各樣的問(wèn)題,切勿眼高手低,勤動(dòng)手,才可以理解的更加深刻。

          代碼很簡(jiǎn)單,希望對(duì)你學(xué)習(xí)有幫助。

          -------------------?End?-------------------

          往期精彩文章推薦:

          c74fc8fae1e11b6dfaa36c123429495f.webp

          歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入前端學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群

          萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行

          瀏覽 52
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  奇米三级片 | 免费抽插视频网站 | 日本调教视频 | 轻轻操免费视频 | 国产欧美精品AAAAAA片 |