SVG <feBlend> Element
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 > |
chevron_right
filter_none
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 > |
chevron_right
filter_none
Output: