HTML5之SVG 2D入門4 筆畫與填充

2022-09-24 11:15:08 字數 2075 閱讀 8722

前面我們重點都在總結各類形狀,文字和,接下來,我們還是和討論canvas一樣,總結一下顏色處理,也就是填充程式設計客棧和邊框效果;你會發現這裡的內容與canvas基本上是一致的。這些屬性既可以以屬性的形式寫在元素中,也可以以css的形式儲存(這是與canvas不一樣的地方)。

填充色 - fill屬性

這個屬性使用設定的顏色填充圖形內部,使用很簡單,直接把顏色值賦給這個屬性就可以了。看例子:

複製**

**如下:

www.cppcns.com"blue" fill="red"

fill-opacity="0.5" stroke-opacity="0.8"/>

上面例子中畫了乙個紅色藍邊的矩形。注意幾點:

1. 如果不提供fill屬性,則缺省會使用黑色填充,如果要取消填充,需要設定成none。

2. 可以設定填充的透明度,就是filwww.cppcns.coml-opacity,值的範圍是0到1。

3. 稍微複雜一點的是fill-rule屬性。這個屬性定義了判斷點是不是屬於填充範圍的演算法;除了inherit這個值外,還有兩個取值:

nonzero:這個值採用的演算法是:從需要判定的點向任意方向發射線,然後計算圖形與線段交點的處的走向;計算結果從0開始,每有乙個交點處的線段是從左到右的,就加1;每有乙個交點處的線段是從右到左的,就減1;這樣計算完所有交點後,如果這個計算的結果不等於0,則該點在圖形內,需要填充;如果該值等於0,則在圖形外,不需要填充。看下面的示例:

evenodd:這個值採用的演算法是:從需要判定的點向任意方向發射線,然後計算圖形與線段交點的個數,個數為奇數則改點在圖形內,需要填充;個數為偶數則點在圖形外,不需要填充。看下圖的示例:

邊框色 - stroke屬性

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

1. 如果不提供stroke屬性,則預設不繪製圖形邊框。

2. 可以設定邊的透明度,就是stroke-opacity,值的範圍是0到1。

實際上,邊的情況比圖形內部稍微複雜一點,因為邊除了顏色,還有"形狀"需要定義。

線的端點 - stroke-linecap屬性

這個屬性定義了線段端點的風格,這個屬性可以使用butt,square,round三個值。看例子:

複製**

**如下:

這段**繪製了3程式設計客棧條使用不同風格線端點的線,

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

線的連線 - stroke-linejoin屬性

這個屬性定義了線段連線處的風格,這個屬性可以使用miter,round,bevel三個值。看例子:

複製**

**如下:

從左面的圖中我們很容易看到3中風格的不同。

線的虛實 - stroke-dasharray屬性

這個屬性可以設定線段採用何種虛實線。看例子:

複製**

**如下:

這個屬性是設定一些列數字,不過這些數字必須是逗號隔開的。

屬性中當然可以包含空格,但是空格不作為分隔符。每個數字

定義了實線段的長度,分別是按照繪製、不繪製這個順序迴圈下去。

所以左面的例子中繪製的線是畫5單位的實線,留5單位的空格,

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

除了這些常用的屬性,還有下列屬性可以設定:

stroke-miterlimit:這個和canvas中的一樣,它處理什麼時候畫和不畫線連線處的miter效果。

stroke-dashoffset:這個屬性設定開始畫虛線的位置。

使用css展示資料

html5強化了div+css的思想,所以展示資料的部分還可以交給css處理。與普通html元素相比,只不過是 background-color和border換成了fill和stroke。其他的大多都差不多。簡單看個例子:

複製**

**如下:

#myrect:hover

是不是很熟悉,就是這麼簡單的。

實用參考:

指令碼索引:

開發中心:

熱門參考:

官方文件:

本文標題: html5之svg 2d入門4—筆畫與填充

本文位址:

HTML5之SVG 2D入門10 濾鏡的定義及使用

濾鏡稱得上是svg最強大的功能了,它允許你給圖形 圖形元素和容器元素 新增各種專業軟體中才有的濾鏡特效,喜歡特效的朋友可千萬不要錯過啊。希望本對你有所幫助。濾鏡稱得上是svg最強大的功能了,它允許你給圖形 圖形元素和容器元素 新增各種專業軟體中才有的濾鏡特效。這樣你就很容易在客戶端生成和修改影象了。...

HTML5之SVG詳解(一) 基本概括

自 1 背景 svg是scalable vector graphics的縮寫,意為可縮放向量圖形。1998年,全球資訊網聯盟成立了乙個工作組,研發一種通過xml來表現向量圖形的技術 svg!由於svg也是一種xml檔案,所以svg也繼承了xml的開放性 可移植性和互動性的優點。如今幾乎所有主流的瀏覽...

Html5筆記之小結

隨著and roid,ios 手機,平板等各種 的不斷擴增,加上對過去傳統 html flash 對手機和桌面的不相容等等。html5 來了,來解決這些問題了。html5 是w3c world wide web consortium,全球資訊網聯盟 與whatwg html5 建立的一些規則 看了兩...