偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

HTML 5中SVG 2D筆畫與填充

開發(fā) 前端
顏色處理,也就是填充和邊框效果;你會(huì)發(fā)現(xiàn)這里的內(nèi)容與canvas基本上是一致的。這些屬性既可以以屬性的形式寫在元素中,也可以以CSS的形式保存(這是與canvas不一樣的地方)。

前面我們重點(diǎn)都在總結(jié)各類形狀,文本和圖片。

接下來,我們還是和討論canvas一樣,總結(jié)一下顏色處理,也就是填充和邊框效果;你會(huì)發(fā)現(xiàn)這里的內(nèi)容與canvas基本上是一致的。這些屬性既可以以屬性的形式寫在元素中,也可以以CSS的形式保存(這是與canvas不一樣的地方)。

填充色 - fill屬性

這個(gè)屬性使用設(shè)置的顏色填充圖形內(nèi)部,使用很簡(jiǎn)單,直接把顏色值賦給這個(gè)屬性就可以了。看例子:

  1. <rect x="10" y="10" width="100" height="100" stroke="blue" fill="red" 
  2.        fill-opacity="0.5" stroke-opacity="0.8"/> 

上面例子中畫了一個(gè)紅色藍(lán)邊的矩形。注意幾點(diǎn):

1. 如果不提供fill屬性,則默認(rèn)會(huì)使用黑色填充,如果要取消填充,需要設(shè)置成none。

2. 可以設(shè)置填充的透明度,就是fill-opacity,值的范圍是0到1。

邊框色 - stroke屬性

上面的例子中已經(jīng)用到了stroke屬性,這個(gè)屬性使用設(shè)置的值畫圖形的邊框,使用起來也很直接,把顏色值賦給它就可以了。注意:

1. 如果不提供stroke屬性,則默認(rèn)不繪制圖形邊框。

2. 可以設(shè)置邊的透明度,就是stroke-opacity,值的范圍是0到1。

實(shí)際上,邊的情況比圖形內(nèi)部稍微復(fù)雜一點(diǎn),因?yàn)檫叧祟伾?,還有"形狀"需要定義。

線的端點(diǎn) - stroke-linecap屬性

這個(gè)屬性定義了線段端點(diǎn)的風(fēng)格,這個(gè)屬性可以使用butt,square,round三個(gè)值??蠢樱?/p>

  1. <svg width="160" height="140"> 
  2.   <line x1="40" x2="120" y1="20" y2="20" stroke="black" stroke-width="20" stroke-linecap="butt"/> 
  3.   <line x1="40" x2="120" y1="60" y2="60" stroke="black" stroke-width="20" stroke-linecap="square"/> 
  4.   <line x1="40" x2="120" y1="100" y2="100" stroke="black" stroke-width="20" stroke-linecap="round"/> 
  5. </svg> 


這段代碼繪制了3條使用不同風(fēng)格線端點(diǎn)的線,

從左面的圖中我們可以很容易看出3中風(fēng)格的不同。

線的連接 - stroke-linejoin屬性

這個(gè)屬性定義了線段連接處的風(fēng)格,這個(gè)屬性可以使用miter,round,bevel三個(gè)值??蠢樱?/p>

  1. <svg width="160" height="280"> 
  2.   <polyline points="40 60 80 20 120 60" stroke="black" stroke-width="20" 
  3.       stroke-linecap="butt" fill="transparent" stroke-linejoin="miter"/> 
  4.     
  5.   <polyline points="40 140 80 100 120 140" stroke="black" stroke-width="20" 
  6.       stroke-linecap="round" fill="transparent" stroke-linejoin="round"/> 
  7.     
  8.   <polyline points="40 220 80 180 120 220" stroke="black" stroke-width="20" 
  9.       stroke-linecap="square" fill="transparent" stroke-linejoin="bevel"/> 
  10. </svg> 

 從左面的圖中我們很容易看到3中風(fēng)格的不同。

線的虛實(shí) - stroke-dasharray屬性

這個(gè)屬性可以設(shè)置線段采用何種虛實(shí)線??蠢樱?/p>

  1. <svg width="200" height="150"> 
  2.   <path d="M 10 75 Q 50 10 100 75 T 190 75" stroke="black" 
  3.     stroke-linecap="round" stroke-dasharray="5,10,5" fill="none"/> 
  4.   <path d="M 10 75 L 190 75" stroke="red" 
  5.     stroke-linecap="round" stroke-width="1" stroke-dasharray="5,5" fill="none"/> 
  6. </svg> 

這個(gè)屬性是設(shè)置一些列數(shù)字,不過這些數(shù)字必須是逗號(hào)隔開的。

屬性中當(dāng)然可以包含空格,但是空格不作為分隔符。每個(gè)數(shù)字

定義了實(shí)線段的長(zhǎng)度,分別是按照繪制、不繪制這個(gè)順序循環(huán)下去。

所以左面的例子中繪制的線是畫5單位的實(shí)線,留5單位的空格,

再畫5單位的實(shí)線...這樣一直下去。

除了這些常用的屬性,還有下列屬性可以設(shè)置:

stroke-miterlimit:這個(gè)和canvas中的一樣,它處理什么時(shí)候畫和不畫線連接處的miter效果。

stroke-dashoffset:這個(gè)屬性設(shè)置開始畫虛線的位置。

使用CSS展示數(shù)據(jù)

HTML5強(qiáng)化了DIV+CSS的思想,所以展示數(shù)據(jù)的部分還可以交給CSS處理。與普通HTML元素相比,只不過是 background-color和border換成了fill和stroke。其他的大多都差不多。簡(jiǎn)單看個(gè)例子:

  1. #MyRect:hover {  
  2.    stroke: black;  
  3.    fill: blue;  
  4.  }  

是不是很熟悉,就是這么簡(jiǎn)單的。

實(shí)用參考:

腳本索引:http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85).aspx

開發(fā)中心:https://developer.mozilla.org/en/SVG

熱門參考:http://www.chinasvg.com/

官方文檔:http://www.w3.org/TR/SVG11/

原文地址:http://www.cnblogs.com/dxy1982/archive/2012/04/14/2395734.html

 

責(zé)任編輯:張偉 來源: 沙場(chǎng)秋點(diǎn)兵的博客
相關(guān)推薦

2012-05-07 15:08:00

HTML5

2012-05-08 10:20:36

HTML5

2012-05-07 14:25:16

HTML5

2012-05-07 14:13:59

HTML5

2012-05-08 09:53:56

HTML 5

2013-01-08 11:00:20

IBMdW

2012-11-07 09:43:58

IBMdw

2011-04-25 14:36:24

Ubuntu Unit

2013-01-30 16:15:40

adobeHTML5css3

2011-08-11 18:07:55

iPhoneQuratz 2D

2023-05-03 09:01:41

CanvasWebGL

2020-10-26 13:40:00

CascadingSt

2022-05-23 10:26:10

人工智能機(jī)器學(xué)習(xí)機(jī)器視覺

2012-12-24 09:11:58

iOSUnity3D

2011-12-29 14:22:40

Java

2015-10-23 13:44:14

巴巴獵

2024-04-23 09:30:07

3D模型

2011-05-12 10:20:12

IE9HTML5

2022-07-13 10:20:14

自動(dòng)駕駛3D算法

2011-08-17 14:07:43

IOS開發(fā)Quartz 2D
點(diǎn)贊
收藏

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