SVG基础之SVG图形填充颜色-创新互联

小编给大家分享一下SVG基础之SVG图形填充颜色,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请网站空间、营销软件、网站建设、凤冈网站维护、网站推广。


SVG的填充是指在图形的描边内部填充指定的颜色。通过fill SVG CSS属性,我们可以为任何SVG图形填充颜色。

填充颜色示例

SVG的填充颜色是将颜色填充到SVG图形描边的里面。下面是一个例子:


这个例子定义了一个填充色为蓝色的圆形,它没有描边。得到的结果如下:

   SVG基础之SVG图形填充颜色
填充和描边

你可以结合使用SVG的填充和描边,下面是一个例子:


这个例子定义了一个描边色为深蓝色,填充色为浅蓝色的圆形。得到的结果如下:

   SVG基础之SVG图形填充颜色

填充色的透明度

SVG fill-opacity CSS属性用于设置SVG图形的填充色透明度。fill-opacity属性的取值在0-1之间,越接近0越透明,越接近1越不透明。默认的fill-opacity值为1,即完全不透明。

下面是一个使用fill-opacity属性的例子:



上面的代码的返回结果是:

SVG基础之SVG图形填充颜色
上面的文字是在两个圆形的下面,因为圆形是半透明的,所以文字都可以被看见。

填充规则

SVG fill-rule属性用于决定复杂的图形如何进行填充。fill-rule属性有两个可选值:


  • nonzero

  • evenodd

这两个值通常用于决定哪些部分是在图像的内部,哪些部分是在图形的外部。只有在图像内部的部分才会被填充。如果是一个圆形就非常简单,但是大多数图像并非如此简单,来看下面的例子:



这里有两条路径分别包含8条直线,绘制成一个方块形状,在大方块里面是一个小方块。在第一条路径中,内部的方块从左向右(顺时针)绘制,在第二条路径中,内部的方块从右向左(逆时针)绘制。下面是当fill-rule属性设置为nonzero时的返回结果。

SVG基础之SVG图形填充颜色

如上图所示,nonzero规则是根据内部方块的绘制方向来决定它是否在外部方块的内部。nonzero规则决定一个点是否在图形的内部或外部的原则如下:
从这个点向任何方向画一条射线,每次图形中的一条路径穿过这条射线,如果路径是从左向右穿过射线的计数加1,如果是从右向左穿过的计数减1。在计算所有穿过射线的路径之后,如果总数是0,那么这个点会被认为在路径之外。如果总数不是0,那么这个点会被认为是在路径之内。

下面的例子使用的是fill-rule为evenodd规则的例子:


  1. 下面是返回结果:


  2. SVG基础之SVG图形填充颜色
  3. evenodd规则决定一个点是否在图形内的原则是:



  4. 从这个点向任何方向画一条射线,每一次图形中的路径穿过这条射线,计数加1。如果总数是偶数,内这个点在图形之外。如果总数是奇数,那么这个点在图形之内。


以上是“SVG基础之SVG图形填充颜色”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前文章:SVG基础之SVG图形填充颜色-创新互联
文章来源:http://scyanting.com/article/csedog.html