将SVG过滤器应用于SVG的一部分

将SVG过滤器应用于SVG的一部分,svg,svg-filters,Svg,Svg Filters,这可能吗?我有一个svg,我想用一个透明的矩形覆盖svg的一部分。SVG中覆盖的部分是否可以更改颜色或发光等?是的。您可以使用feComposite“in”提取重叠区域,对其应用效果,然后在原始图形的顶部重新组合该结果。如果不透明度可变,事情会变得更复杂,但概念是一样的。发布一篇关于SVG的文章,我将尝试为您编写过滤器 更新: 以下是您的操作方法: <filter id="greenify"> <feFlood flood-color="#ff0770"

这可能吗?我有一个svg,我想用一个透明的矩形覆盖svg的一部分。SVG中覆盖的部分是否可以更改颜色或发光等?

是的。您可以使用feComposite“in”提取重叠区域,对其应用效果,然后在原始图形的顶部重新组合该结果。如果不透明度可变,事情会变得更复杂,但概念是一样的。发布一篇关于SVG的文章,我将尝试为您编写过滤器

更新:

以下是您的操作方法:

   <filter id="greenify">

        <feFlood flood-color="#ff0770" flood-opacity="1" x="50" y="30" height="40" width="260" result="A"/> 
        <feComposite operator="in" in2="SourceGraphic" in="A" result="B"/>
        <feColorMatrix type="hueRotate" in="B" result="C" 
            values ="90" /> 
        <feComposite operator="over" in2="SourceGraphic" in="C"/>

   </filter>

第一个feFlood为您创建一个颜色矩形。然后feComposite提取重叠区域。feColorMatrix更改其颜色(因此您知道它不是结果中的原始矩形),然后feComposite将新的绿色区域覆盖在原始源图形的顶部


你可以在这里找到小提琴:就像测试用例一样,说我们突出显示头部?我将同时努力学习:你是最棒的-这很好用,可以搞乱它来得到我想要的。