これは可能ですか?私は svg を持っており、その svg の一部を透明な四角形でオーバーレイしたいと考えています。SVG の一部を覆って色を変えたり、光らせたりすることは可能ですか?
1 に答える
2
はい、そうです。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 は元の SourceGraphic の上に新しい緑色の領域をオーバーレイします。
于 2013-01-18T17:39:13.453 に答える