我有这个SVG合成:
<svg width="400" height="200">
<circle id="circle-1" cx="50" cy="100" r="40"></circle>
<circle id="circle-2" cx="150" cy="100" r="40"></circle>
</svg>
我想给第二个圆应用
filter: saturate(0.2)
,但CSS滤镜属性无法生效。<svg width="400" height="200">
<filter id="saturate" filterUnits="objectBoundingBox">
<feColorMatrix type="saturate" in="SourceGraphic" values="0.2"/>
</filter>
<circle id="circle-1" cx="50" cy="100" r="40" ></circle>
<circle id="circle-2" cx="250" cy="100" r="40" filter="url(#saturate)"></circle>
</svg>
desaturate()
相同的结果,应该在根<svg>
中添加color-interpolation-filters="sRGB"
(默认为linearRGB
)。 - cdoublev