Inverting SVG Image Mask
In my application, it is more convenient for me to use an image to mask SVG shapes rather than the other way round. (The desired multi-color overlays effects can be achieved either
Solution 1:
You'll need to use a <filter>
to invert the image in your mask.
<svg height="500" xmlns:xlink="http://www.w3.org/1999/xlink" >
<defs>
<filter id="invert">
<feComponentTransfer>
<feFuncR type="table" tableValues="1 0"/>
<feFuncG type="table" tableValues="1 0"/>
<feFuncB type="table" tableValues="1 0"/>
</feComponentTransfer>
</filter>
<mask id="image_mask">
<image width="194" height="240" xlink:href="https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Marilyn_Monroe_photo_pose_Seven_Year_Itch.jpg/194px-Marilyn_Monroe_photo_pose_Seven_Year_Itch.jpg"
filter="url(#invert)"/>
</mask>
</defs>
<rect width="30" height="120" fill="red" mask="url(#image_mask)"/>
<rect x="30" width="164" height="240" fill="green" mask="url(#image_mask)"/>
</svg>
Post a Comment for "Inverting SVG Image Mask"