一推网

当前位置: 首页 > 知识问答 > 如何掌握HTML5中SVG 2D图形的笔画和填充技巧?

知识问答

如何掌握HTML5中SVG 2D图形的笔画和填充技巧?

2025-09-21 14:59:11 来源:互联网转载
在HTML5的SVG中,笔画与填充分别由strokefill属性控制。stroke定义线条颜色,而fill定义内部填充颜色。

HTML5中SVG 2D入门4—笔画与填充

h3 填充色 fill属性

在HTML5的SVG(Scalable Vector Graphics)中,fill属性用于设置图形内部的填充颜色,使用这个属性非常简单,只需将颜色值赋给它即可。

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

上面的代码会绘制一个红色填充、蓝色边框的矩形。

需要注意的是:

1、默认填充:如果不提供fill属性,则默认会使用黑色填充,如果需要取消填充,可以将其设为none

2、透明度:可以通过fillopacity属性设置填充颜色的透明度,取值范围是0到1。

3、填充规则:稍微复杂一点的是fillrule属性,它定义了判断点是否属于填充范围的算法,常用值包括nonzeroevenodd

nonzero:从要判定的点向任意方向发射线,计算与路径的交点数,如果结果不为0,则该点在图形内部,需要填充;否则在外部,不需要填充。

evenodd:从要判定的点向任意方向发射线,计算与路径的交点数,如果交点数为奇数,则该点在图形内部,需要填充;否则在外部,不需要填充。

h3 边框色 stroke属性

stroke属性用于设置图形边框的颜色,使用方法同样简单,直接将颜色值赋给该属性即可。

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

上面的代码会绘制一个红色填充、蓝色边框的矩形。

需要注意的是:

1、默认边框:如果不提供stroke属性,则默认不绘制图形边框。

2、透明度:可以通过strokeopacity属性设置边框颜色的透明度,取值范围是0到1。

3、边框形状:边框除了颜色外,还有“形状”需要定义,如端点样式、连接处样式等。

h3 线的端点 strokelinecap属性

strokelinecap属性定义了线段端点的样式,常用的值包括buttsquareround

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

这段代码绘制了三条使用不同风格线端点的线段。

h3 线的连接 strokelinejoin属性

strokelinejoin属性定义了线段连接处的样式,常用的值包括miterroundbevel

<svg width="160" height="280">  <polyline points="40 60 80 20 120 60" stroke="black" strokewidth="20" strokelinecap="butt" fill="transparent" strokelinejoin="miter"/>  <polyline points="40 140 80 100 120 140" stroke="black" strokewidth="20" strokelinecap="round" fill="transparent" strokelinejoin="round"/>  <polyline points="40 220 80 180 120 220" stroke="black" strokewidth="20" strokelinecap="square" fill="transparent" strokelinejoin="bevel"/></svg>

这段代码绘制了三个使用不同风格线段连接处的多边形。

h3 线的虚实 strokedasharray属性

strokedasharray属性可以设置线段采用何种虚实线。

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

这段代码绘制了两条采用不同虚实线风格的路径。

h3 使用CSS展示数据

HTML5强化了DIV+CSS的思想,因此展示数据的部分也可以交给CSS处理,与普通HTML元素相比,只不过是将backgroundcolorborder换成了fillstroke

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

上述CSS代码表示当鼠标悬停在id为MyRect的元素上时,其边框颜色变为黑色,填充颜色变为蓝色。

h3 相关FAQs

Q1: 如何在SVG中设置图形的填充颜色和边框颜色?

A1: 使用fill属性设置填充颜色,使用stroke属性设置边框颜色。

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

上述代码会绘制一个红色填充、蓝色边框的矩形。

Q2: 如何设置SVG图形的透明度?

A2: 使用fillopacity属性设置填充颜色的透明度,使用strokeopacity属性设置边框颜色的透明度,取值范围都是0到1。

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

上述代码会绘制一个半透明红色填充、半透明蓝色边框的矩形。

特性 描述 示例
stroke 定义图形边框的颜色、宽度等属性。
strokewidth 定义边框的宽度,默认值为1。
  • strokecolor 定义边框的颜色,可以使用颜色名、十六进制颜色代码、RGB、RGBA等。
    strokelinecap 定义线条的端点样式,可选值有buttroundsquare
    strokelinejoin 定义线条交叉点的样式,可选值有miterroundbevel
    strokedasharray 定义线条的虚线样式,通过一个由逗号分隔的数字序列来指定线段和间隙的长度。
  • fill 定义图形的填充颜色,可以设置为none以不填充图形。
    fillopacity 定义图形填充颜色的透明度,值范围从0(完全透明)到1(完全不透明)。

    通过上述表格,可以了解SVG中用于定义笔画和填充的基本属性和示例用法,在绘制SVG图形时,合理运用这些属性可以创造出丰富的视觉效果。

    上一篇:学习美工的优秀方法:全面提升你的设计能力(美工培训去哪里学)

    下一篇:佳能RF 100镜头的发布,究竟带来了哪些创新和改进?