Open In App

SVG <feBlend> Element

Improve
Improve
Like Article
Like
Save
Share
Report

SVG stands for Scalable Vector Graphic. It can be used to make graphics and animations like in HTML canvas. 

<feBlend> element is used to combines two images or SVG fragments into a single graphic. It executes a pixel-wise combination of two input SVG fragments or images. 

Syntax:

 <feBlend in="" in2="" mode=""/>

Attributes:

  • in – It identifies input for the given filter primitive.
  • in2 – It identifies the second input for the given filter primitive. It takes on the same values as the ‘in’ attribute.
  • mode –  It defines the blending mode on the <feBlend> filter primitive. If mode is not specified, the normal value is executed.

Example 1:




<!DOCTYPE html>
<html>
  
<body>
    <svg width="200" height="200">
        <defs>
            <filter id="spotlight">
                <feFlood result="floodFill" 
                    x="0" y="0" width="100%" 
                    height="100%" flood-color="green"
                    flood-opacity="1" />
  
                <feBlend in="FillPaint" 
                    in2="floodFill" mode="multiply" />
            </filter>
        </defs>
  
        <rect x="40" y="40" width="100" 
            height="100" style="stroke: #000000; 
                         fill: lightgreen; 
                         filter: url(#spotlight);" />
  
        <rect x="40" y="40" width="100" height="100" 
            style="stroke: #000000; fill: green;" />
  
        <g fill="#FFFFFF" stroke="black" font-size="10" 
            font-family="Verdana">
  
            <text x="50" y="90">GeeksForGeeks</text>
        </g>
    </svg>
</body>
  
</html>


Output:

Example 2:




<!DOCTYPE html>
<html>
  
<body>
    <svg width="200" height="200">
        <defs>
            <filter id="Screen">
                <feBlend mode="screen" 
                    in2="BackgroundImage" 
                    in="SourceGraphic" />
            </filter>
        </defs>
  
        <rect x="1" y="1" width="198" 
            height="118" style="stroke: #000000;
                                fill: black;
                                filter: url(#Screen);" />
  
        <circle cx="100" cy="60" r="55" 
            stroke="black" stroke-width="3" 
            fill="Lightgreen" />
  
        <g fill="#FFFFFF" stroke="Green" 
            font-size="10" c font-family="Verdana">
              
            <text x="60" y="62">GeeksForGeeks</text>
        </g>
    </svg>
</body>
  
</html>


Output:



Last Updated : 31 Mar, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads