fillcolor是什么意思_SVG fill 属性

SVG fill 属性

SVG形状的fill定义了其轮廓内的形状的颜色。换句话说,SVG形状的表面。填充是您可以为任何SVG形状设置的基本SVG CSS属性之一。

Fill示例

SVG形状的填充是形状轮廓内的填充。这是一个SVG填充示例:

示例

style="stroke: none; fill: #0000ff;" />

测试看看‹/›

此示例定义了一个使用蓝色(#0000ff)填充颜色但没有描边颜色的圆。 以下是生成的图像:

填充和描边示例

您可以将SVG笔触和填充颜色组合为SVG形状。这是一个SVG笔触和填充示例:

示例

style="stroke: #000066; fill: #3333ff;" />

测试看看‹/›

此示例使用较深的蓝色(#000066)描边颜色和较浅的蓝色(#3333ff)填充颜色定义圆。 以下是生成的图像:

fill-opacity

SVG CSS属性 fill-opacity 用于设置形状的填充颜色的不透明度。 fill-opacity 使用介于0和1之间的数值。值越接近0,填充越透明。 值越接近1,填充越不透明。 默认fill-opacity值为1,这意味着填充颜色是完全不透明的。

这是一个SVG填充不透明度 fill-opacity示例,其中包含两个具有不同(fill-opacity)的圆:

示例

Text Behind Shape

style="stroke: none; fill: #0000ff;

fill-opacity: 0.3;  ">

style="stroke: none; fill: #0000ff;

fill-opacity: 0.7;  ">

测试看看‹/›

这是生成的图像。

Text Behind Shape

请注意,右圆圈后面的文本比左圆圈后面的文本更不可见。那是因为右圆fill-opacity比左圆高。

fill-rule

fill-rule决定的复杂形状的填充方式。fill-rule可以采用两个不同的值 。这些值是:nonzero

evenodd

通常,这两个值是确定形状内部和外部形状的规则。仅内部填充,对于一个圆来说,这很简单,但是对于更复杂的形状,这并不是那么容易。看这个 示例:

示例

M50,40 l20,20 l-20,20 l-20,-20 l20,-20"

style="stroke: #000000;

fill: #6666ff;

fill-rule: nonzero;

">

M150,40 l-20,20 l20,20 l20,-20 l-20,-20"

style="stroke: #000000;

fill: #6666ff;

fill-rule: nonzero;">

测试看看‹/›

这两个路径示例各有8条线,每条线都以菱形绘制,其中较大的菱形包含较小的菱形。在左侧路径中,内部菱形是从左向右(顺时针)绘制的。在右边的路径中,内部菱形从右到左(逆时针)绘制。这是使用fill-rule:non-zero绘制时的结果图像

正如您看到的,该nonzero规则将根据形状绘制内部菱形的方向和内部菱形的形状。nonzero确定点是在形状的内部还是外部的规则是:

在任意方向上从点到无穷远绘制一条线(射线)。形状中的路径每次穿过此射线时,如果路径从左到右穿过射线,则将1加到计数器上;如果路径是从右到左穿过射线,则从计数器中减去1。计算完所有穿过射线的路径后,如果总计数为零,则该点被视为路径之外。如果总计数不为零,则将点视为路径内。

这是相同的路径示例,使用fill-rule:evenodd

示例

M50,40 l20,20 l-20,20 l-20,-20 l20,-20"

style="stroke: #000000;

fill: #6666ff;

fill-rule: evenodd;" >

M150,40 l-20,20 l20,20 l20,-20 l-20,-20"

style="stroke: #000000;

fill: #6666ff;

fill-rule: evenodd;" >

测试看看‹/›

运行后图像效果:

evenodd字面意思是“奇偶”。按该规则,要判断一个点是否在图形内,从该点作任意方向的一条射线,然后检测射线与图形路径的交点的数量。在任意方向上从点到无穷远绘制一条线(射线)。每当路径穿过射线时,都增加一个计数器。如果总数是偶数,则该点在外面。如果总计数为奇数,则该点位于形状内部。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值