2

SVGを使用しています。

標準のブレンド モード: スクリーン、明るく、オーバーレイ、差分。など……私が必要としているものではありません。

標準のものではない、使用する必要がある別のブレンドモードの式を設計しましたが、それが機能するようにSVGファイルに実装する方法がわかりません。

たとえば、フィルター内で feBlend mode="Cm = B(Cb, Cs)" を実行するだけですか?

具体的には、上のレイヤーの明度を下のレイヤーのアルファチャンネルに適用したいです。

方法があるはずです。

ありがとう。

4

1 に答える 1

3

SVG 1.1 でカスタム ブレンド式を提供することはできません。ビルトインにこだわっています。ただし、feColorMatrix と組み合わせて、複数の feBlends および feComposite 演算モードを備えた複合フィルターを使用して、他のタイプのブレンドを作成できます。

アップデート:

あなたがやりたいことは、あなたがやりたいようにはできません。入力の 1 つが完全に不透明な場合の feBlend 操作の結果は、完全に不透明な結果になります。feBlend は、色の計算に事前に乗算された値を使用します。そのため、ある画像のアルファ チャネルを直接取得して、別の画像のアルファ チャネルに転送することはできません。ただし、画像を背景とブレンドしようとしていて、そのためにアルファ チャネルを調整しようとしている場合は、背景画像をブレンド フィルターの一部として使用することで、探している効果を得ることができます (ただし、これは現在 IE10 と Opera でのみ可能です)。

結合された CSS/SVG ブレンド仕様 "mode=Luminosity" で提案されている新しいブレンド モードがあります。

于 2013-01-05T22:36:38.573 に答える