问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

svg 如何填充四条直线组成区域颜色?

发布网友 发布时间:2022-04-23 01:59

我来回答

2个回答

懂视网 时间:2022-05-12 11:29

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。如果总数是偶数,内这个点在图形之外。如果总数是奇数,那么这个点在图形之内。

    热心网友 时间:2022-05-12 08:37

    如果是矩形的话,再加一个rect覆盖上去不描边,然后给这个rect fill。如果是非矩形。那你把四条line改成一个path来实现,还是用fill。如果你是因为四条直线的颜色不同,但是仍然需要填充的话,也可以使用path来画这四条直线,但是不描边。然后fill上色就可以了
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 Ai里怎么做出这个渐变效果 svg到sketch里面变颜色了怎么办 AI这种渐变效果怎么做 为什么svg中调背景透明了,还是有颜色,看不到背后 AI如何做渐变轮廓的3D立体字,效果如下图!~ 请问用js如何改变svg里面字体的颜色? 求助,AI里一排字如何做整体渐变 ai 这个渐变效果怎么做? AI里怎么做出这种叠加式的渐变效果? AI的渐变效果怎么做? 请教AI如何做这种3D字体的侧面立体感的渐变效果? Ai里面如何做3D字体渐变效果? 怎么用AI混合工具做出这种渐变投影的效果? ai的这个怎么做啊,图片的立体渐变 oppo rain o3的链接为什么复制不到淘宝去? oppo手机如何复制粘贴淘宝产品名子 淘宝宝贝上下架的最佳时间是什么时候 OPPO手机如何进行复制与粘贴? 淘宝店铺宝贝上下架什么时间段最好 oppo手机如何把淘宝网页链接发给qq好友? AI如何做透明渐变效果?请附图讲解,谢谢。 svg怎么让每段虚线颜色不一样?stroke-array d3如何引用svg图标,并且可以改变图标颜色 怎么修改SVG图中背景颜色? svg有什么好处,设计师为什么要将在Photoshop里做好的图片转换为svg,直接... SVG图像在分辨率上有什么优势? 如何用JS控制svg的背景色? 如何在HTML中显示SVG? iPad mini5可以用apple pencil写字吗?如果可以的话怎么写 美工刀田岛和爱丽华哪个好? 田岛LCB-30H小美工刀片与田岛LCB-30N小美工刀片有什么区别 郑州什么地方可以买到贴墙纸的工具呢?最好说的具体点?谢谢 传真机如何加墨? 请,问怎样才能买到粘贴壁纸工具 有没有跟田岛ac701b型号差不多的美工刀,我不想买日本货? 杭州哪里有世达工具的专卖店啊? 田岛牌LB30H中的H代表什么意思?急!在线等 谁有报废田岛lc501美工刀卖? 美工刀的种类?用途? 如何看待金融科技?科技金融?