亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

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

2024-08-26 00:14:55
字體:
來源:轉載
供稿:網友

前面我們重點都在總結各類形狀,文本和圖片,接下來,我們還是和討論canvas一樣,總結一下顏色處理,也就是填充和邊框效果;你會發現這里的內容與canvas基本上是一致的。這些屬性既可以以屬性的形式寫在元素中,也可以以CSS的形式保存(這是與canvas不一樣的地方)。
填充色 - fill屬性
這個屬性使用設置的顏色填充圖形內部,使用很簡單,直接把顏色值賦給這個屬性就可以了??蠢樱?br />

復制代碼 代碼如下:www.CuoXIn.com

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

上面例子中畫了一個紅色藍邊的矩形。注意幾點:
1. 如果不提供fill屬性,則默認會使用黑色填充,如果要取消填充,需要設置成none。
2. 可以設置填充的透明度,就是fill-opacity,值的范圍是0到1。
3. 稍微復雜一點的是fill-rule屬性。這個屬性定義了判斷點是不是屬于填充范圍的算法;除了inherit這個值外,還有兩個取值:

nonzero:這個值采用的算法是:從需要判定的點向任意方向發射線,然后計算圖形與線段交點的處的走向;計算結果從0開始,每有一個交點處的線段是從左到右的,就加1;每有一個交點處的線段是從右到左的,就減1;這樣計算完所有交點后,如果這個計算的結果不等于0,則該點在圖形內,需要填充;如果該值等于0,則在圖形外,不需要填充??聪旅娴氖纠?/span>

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

邊框色 - stroke屬性
上面的例子中已經用到了stroke屬性,這個屬性使用設置的值畫圖形的邊框,使用起來也很直接,把顏色值賦給它就可以了。注意:
1. 如果不提供stroke屬性,則默認不繪制圖形邊框。
2. 可以設置邊的透明度,就是stroke-opacity,值的范圍是0到1。
實際上,邊的情況比圖形內部稍微復雜一點,因為邊除了顏色,還有"形狀"需要定義。

線的端點 - stroke-linecap屬性

這個屬性定義了線段端點的風格,這個屬性可以使用butt,square,round三個值??蠢樱?br />

復制代碼 代碼如下:www.CuoXIn.com

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


這段代碼繪制了3條使用不同風格線端點的線,

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

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

復制代碼 代碼如下:www.CuoXIn.com

<svg width="160" height="280">
<polyline points="40 60 80 20 120 60" stroke="black" stroke-width="20"
stroke-linecap="butt" fill="transparent" stroke-linejoin="miter"/>

<polyline points="40 140 80 100 120 140" stroke="black" stroke-width="20"
stroke-linecap="round" fill="transparent" stroke-linejoin="round"/>

<polyline points="40 220 80 180 120 220" stroke="black" stroke-width="20"
stroke-linecap="square" fill="transparent" stroke-linejoin="bevel"/>
</svg>


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

線的虛實 - stroke-dasharray屬性

這個屬性可以設置線段采用何種虛實線??蠢樱?br />

復制代碼 代碼如下:www.CuoXIn.com

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

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

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

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

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

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

除了這些常用的屬性,還有下列屬性可以設置:
stroke-miterlimit:這個和canvas中的一樣,它處理什么時候畫和不畫線連接處的miter效果。
stroke-dashoffset:這個屬性設置開始畫虛線的位置。

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

復制代碼 代碼如下:www.CuoXIn.com

#MyRect:hover {
stroke: black;
fill: blue;
}

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

實用參考:
腳本索引:http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85).aspx
開發中心:https://developer.mozilla.org/en/SVG
熱門參考:http://www.chinasvg.com/
官方文檔:http://www.w3.org/TR/SVG11/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
狠狠操狠狠色综合网| 午夜精品美女自拍福到在线| 亚洲嫩模很污视频| 日日噜噜噜夜夜爽亚洲精品| 欧美亚洲成人免费| 91免费版网站入口| 久久免费视频网站| 亚洲黄页视频免费观看| 97福利一区二区| 精品人伦一区二区三区蜜桃网站| 美日韩精品视频免费看| 久久久久久国产精品久久| 懂色av中文一区二区三区天美| 国产成一区二区| 亚洲一区二区福利| 亚洲成人黄色网址| 亚洲人在线观看| 欧美又大粗又爽又黄大片视频| 日日摸夜夜添一区| 亚洲精品视频免费在线观看| 欧美性猛交xxxx黑人| 精品福利视频导航| 成人综合网网址| 91精品国产免费久久久久久| 国产精品久久久av久久久| 在线观看国产精品淫| 久久久久国色av免费观看性色| 91亚洲午夜在线| 国产综合视频在线观看| 欧美xxxx18国产| 色哟哟网站入口亚洲精品| 欧美一区二区影院| 亚洲精品久久久久中文字幕二区| www.久久色.com| 久久青草福利网站| 久久精品国产久精国产思思| 欧美有码在线视频| 亚洲理论电影网| 午夜精品久久久久久久男人的天堂| 久久91精品国产| 日韩亚洲欧美成人| 国产一区二区三区网站| 欧美日韩国产一区二区三区| 国产成人精品视频在线观看| 日韩成人性视频| 一区二区中文字幕| 亚洲美女性生活视频| 国产精品美女无圣光视频| 国产精品久久不能| 亚洲自拍偷拍色片视频| 国产午夜一区二区| 欧美自拍大量在线观看| 激情久久av一区av二区av三区| 超在线视频97| 国产精品老女人视频| 97人人做人人爱| 亚洲自拍在线观看| 欧美疯狂做受xxxx高潮| 日韩精品中文字幕视频在线| 一区二区三区视频在线| 欧美性受xxx| 亚洲免费伊人电影在线观看av| 欧美激情第一页xxx| 九九久久综合网站| 日韩精品中文字幕在线观看| 国产成人啪精品视频免费网| 久久在线免费观看视频| 欧美国产亚洲精品久久久8v| 欧美性猛交xxxx久久久| 国产精品免费视频xxxx| 亚洲电影免费在线观看| 日韩最新免费不卡| 欧美日韩国产成人高清视频| 日韩在线小视频| 午夜精品一区二区三区在线| 欧美日韩xxx| 国产精品久久久久9999| 最好看的2019年中文视频| 中文字幕欧美日韩| 午夜欧美不卡精品aaaaa| 亚洲少妇激情视频| 亚洲国产精品成人精品| 2019国产精品自在线拍国产不卡| 国产欧美最新羞羞视频在线观看| 成人网址在线观看| 欧美裸身视频免费观看| 日韩有码视频在线| …久久精品99久久香蕉国产| 国产日本欧美在线观看| 国产一区二区三区在线观看网站| 欧美亚洲成人xxx| 91日韩在线视频| 欧美激情久久久久| 精品国产一区二区三区久久久狼| 亚洲国产中文字幕久久网| 91嫩草在线视频| 超薄丝袜一区二区| 亚洲xxx大片| 久久香蕉国产线看观看av| 亚洲性无码av在线| 亚洲人成毛片在线播放| 国产精品入口尤物| 91精品国产777在线观看| 成人免费直播live| 日韩在线高清视频| 久久精品99久久久久久久久| 亚洲一区二区国产| 国产中文字幕91| 富二代精品短视频| 欧美日韩国产精品专区| 精品久久香蕉国产线看观看gif| 欧美性猛交xxxx乱大交极品| 日韩亚洲第一页| 国产成人一区三区| 国产精品亚洲综合天堂夜夜| 久久久成人av| 91亚洲精品一区二区| 国产精品白嫩美女在线观看| 中文字幕国产精品| 欧美成人激情在线| 欧美在线视频一二三| 中文字幕日韩精品有码视频| 欧美天天综合色影久久精品| xvideos亚洲| 欧美多人爱爱视频网站| 亚洲成色777777女色窝| 成人欧美一区二区三区黑人| 久久久久久香蕉网| 国产不卡av在线免费观看| 国产日韩中文字幕在线| 精品久久久久久国产| 久久99国产精品久久久久久久久| 久久av在线看| 亚洲九九九在线观看| 亚洲欧美日韩直播| 91九色视频导航| 欧美二区在线播放| 欧美在线观看日本一区| 91在线免费网站| 奇米影视亚洲狠狠色| 成人中心免费视频| 亚洲男人第一网站| 日韩免费看的电影电视剧大全| 日韩有码在线电影| 国产精品第一第二| 国内精品久久久久| 欧美日韩国产黄| 国产999精品久久久影片官网| 精品视频在线播放| 国产不卡av在线免费观看| 国产成人精品久久二区二区91| 亚洲成人精品在线| 成人激情视频在线| 国产视频一区在线| 精品女同一区二区三区在线播放| 两个人的视频www国产精品| 九九热精品视频| 最近2019年好看中文字幕视频| 日韩免费观看视频| 色久欧美在线视频观看| 日韩高清免费观看| 久久精品视频中文字幕| 欧美国产亚洲精品久久久8v| 亚洲第一福利网站|