• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > SVG基础|SVG图形填充颜色

SVG基础|SVG图形填充颜色

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含SVG基础,SVG图形填充等相关知识,匿名希望在学习及工作中可以帮助到您

874.png


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

  填充颜色示例

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

<circle cx="50" cy="50" r="25"
        style="stroke: none; fill: #0000ff;" />


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

875.png
  填充和描边

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

<circle cx="50" cy="50" r="25"
        style="stroke: #000066; fill: #3333ff;" />

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

876.png  

填充色的透明度

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

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

<circle cx="50" cy="50" r="25"
        style="stroke: none; fill: #0000ff;
               fill-opacity: 0.3;  " />
<circle cx="120" cy="50" r="25"
        style="stroke: none; fill: #0000ff;
               fill-opacity: 0.7;  " />

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

877.png
  上面的文字是在两个圆形的下面,因为圆形是半透明的,所以文字都可以被看见。

  填充规则

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

  •   nonzero

  •   evenodd

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

<path d="M50,20 l40,40 l-40,40 l-40,-40 l40,-40
         M50,40 l20,20 l-20,20 l-20,-20 l20,-20"
         style="stroke: #000000;
         fill: #6666ff;
         fill-rule: nonzero;
      " />
<path d="M150,20 l40,40 l-40,40 l-40,-40 l40,-40
         M150,40 l-20,20 l20,20 l20,-20 l-20,-20"
         style="stroke: #000000;
         fill: #6666ff;
         fill-rule: nonzero;" />

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

878.png

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

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

<path d="M50,20 l40,40 l-40,40 l-40,-40 l40,-40
         M50,40 l20,20 l-20,20 l-20,-20 l20,-20"
      style="stroke: #000000;
      fill: #6666ff;
      fill-rule: evenodd;" />
<path d="M150,20 l-40,40 l40,40 l40,-40 l-40,-40
         M150,40 l-20,20 l20,20 l20,-20 l-20,-20"
      style="stroke: #000000;
      fill: #6666ff;
      fill-rule: evenodd;" />
      下面是返回结果:
    879.png
      evenodd规则决定一个点是否在图形内的原则是:

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

以上就是SVG基础|SVG图形填充颜色的内容,更多相关内容请关注微课江湖()!

您可能想查找下面的文章:

  • SVG基础|SVG DEFS元素、SYMBOL元素和USE元素
  • SVG基础|绘制SVG圆形和椭圆形
  • SVG基础|SVG和CSS联样式表
  • SVG基础|绘制SVG矩形
  • SVG基础|SVG图形描边
  • SVG基础|绘制SVG连接标记MARKERS
  • SVG基础|SVG VIEWPORT、VIEW BOX和PRESERVEASPECTRATIO
  • SVG基础|绘制SVG直线、折线和多边形
  • SVG基础|SVG图形填充颜色
  • SVG基础|SVG TSPAN 元素

相关文章

  • 2017-08-06Html5新增标签有哪些
  • 2017-08-06用html5实现语音搜索框的方法
  • 2017-08-06HTML5实现经典坦克大战坦克乱走还能发出一个子弹
  • 2018-12-03HTML5每日一练之Canvas标签的应用-绘制线性渐变图形
  • 2018-12-03html5 postMessage解决跨域、跨窗口消息传递方案
  • 2018-12-03HTML5 CANVAS:绘制文字
  • 2018-12-03基于mo.js制作的17种炫酷图标动画特效
  • 2018-12-03详解HTML5应用中accordion三种效果的探索
  • 2018-12-03AR技术可以通过H5实现吗?不通过APP
  • 2018-12-03基于HTML5 FileSystem API的使用介绍_html5教程技巧

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • H5响应式网站建设要注意的方面?
    • IE支持HTML5的解决方法
    • HTML5 Canvas实现玫瑰曲线和心形图案的代码实例_html5教程技巧
    • 怎么使用vue-cli来搭建vue项目和webpack?
    • 想尝试开发些HTML5小游戏,请大大们推荐款JS游戏引擎,轻量的,简单的有么?
    • Html5无刷新修改browser Url的方法
    • HTML5实践-在非响应式设计中如何使用ViewPort meta标签的方法介绍
    • 整理的15个非常有用的 HTML5 开发教程和速查手册
    • vue2.0使用swiper实现轮播广告
    • 详解html5 Canvas drawing的示例代码(三)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有