I’m trying to “merge” two masks in SVG and apply them in a way that the white part of both masks is visible in the shape I apply it to.
I read that the solution might be feComposite, but I can’t get it working… This is what i have so far:
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<defs>
<mask id="mask1" x="0" y="0" width="200" height="200">
<rect x="0" y="0" width="200" height="200" fill="black"/>
<rect x="0" y="0" width="100" height="100" fill="white"/>
</mask>
<mask id="mask2" x="0" y="0" width="200" height="200">
<rect x="0" y="0" width="200" height="200" fill="black"/>
<rect x="100" y="100" width="100" height="100" fill="white"/>
</mask>
<filter id="combinedMask">
<feComposite in="mask1" in2="mask2" operator="over"/>
</filter>
</defs>
<rect x="0" y="0" width="200" height="200" fill="red" mask="url(#combinedMask)"/>
</svg
The desired output in the case above would be this:
output
New contributor
Ron is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.