自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

[[388621]]

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

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

一、 Polygon 畫(huà)多邊形

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

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4. <meta charset="UTF-8"
  5. <title>Document</title> 
  6.   <body style="background-color: aqua;"
  7.  
  8.  
  9. <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
  10.  
  11. <polygon points="10,0 60,0 35,50" style="stroke:#660000; fill:#cc3333;" /> 
  12. </svg> 
  13.  
  14. </body> 
  15. </html> 

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

解析:

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

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

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

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

下面是SVG代碼:

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

三、繪制六邊形

代碼如下:

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4. <meta charset="UTF-8"
  5. <title>Document</title> 
  6.     <body style="background-color: aqua;"
  7. <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;"
  8. <polygon points="60,20 100,40 100,80 60,100 20,80 20,40" /> 
  9. </svg> 
  10.  
  11. </body> 
  12. </html> 

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

四、八邊形

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

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

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

五、SVG 畫(huà)五角星

案例

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

代碼如下:

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

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

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

下面是SVG代碼:

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

運(yùn)行效果:

六、總結(jié)

本文基于Htm基礎(chǔ),介紹了如何去畫(huà)多邊形,通過(guò)Polygon元素變換參數(shù)畫(huà)不一樣的的多邊形。(四邊形,如六邊形,八邊形等等),最后重點(diǎn)講解了如何去畫(huà)五角星,講解畫(huà)五角星時(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í)有幫助。

 

責(zé)任編輯:姜華 來(lái)源: 前端進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2020-12-01 09:36:35

SVG元素屬性

2021-02-19 19:35:53

SVG 形狀元素

2021-03-02 18:35:27

SVG開(kāi)發(fā)空間

2021-02-17 20:40:22

SVG圖像模式

2019-10-17 19:15:22

jQueryJavaScript前端

2021-12-28 09:27:45

Javascript 高階函數(shù)前端

2020-11-13 08:14:28

JavaScript

2021-05-29 10:20:54

GoModules語(yǔ)言

2023-06-21 00:10:17

JSONWeb服務(wù)器JavaScript

2021-09-15 10:00:33

Go語(yǔ)言Modules

2021-02-24 10:14:04

PythonClassPython基礎(chǔ)

2020-12-10 08:20:27

Python微博評(píng)論

2020-12-16 08:07:28

語(yǔ)言基礎(chǔ)反射

2021-12-30 10:28:30

Python 微博評(píng)論

2020-12-08 08:09:49

SVG圖標(biāo)Web

2021-02-26 20:01:57

SVG濾鏡元素

2020-12-31 08:35:07

Python抖音瀏覽器

2020-12-23 08:12:08

javascriptSVG腳本SVG元素

2021-01-01 09:18:48

SVG圖像元素

2020-12-29 09:39:38

元素屬性定位
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)