Тег SVG <feMergeNode>

Опубликовано: 25 Февраля, 2022

Элемент SVG <feMergeNode> принимает результат другого фильтра, который должен обрабатываться его родительским элементом, то есть элементом feMerge.

Синтаксис:

 <feMergeNode in = "" />

Атрибуты:

  • in: Атрибут in определяет ввод для данного примитива фильтра.

Example 1:

<!DOCTYPE html>
<html>
<title>SVG Filter</title>
  
<body>
    <svg width="200" height="200">
        <filter id="feOffset" x="-40" y="-20" 
                width="100" height="200">
            <feOffset in="FillPaint" dx="60" dy="60" />
            <feGaussianBlur in="SourceGraphic" 
                    stdDeviation="5" />
            <feMerge>
                <feMergeNode in="BackgroundImage" />
                <feMergeNode in=
                    "<filter-primitive-reference>" />
            </feMerge>
        </filter>
        <rect x="40" y="40" width="100" height="100" 
            style="stroke: #000000; fill: blue; 
                        filter: url(#feOffset);" />
        <rect x="40" y="40" width="100" height="100" 
            style="stroke: #000000; fill: red;" />
    </svg>
</body>
  
</html>

Выход:

Example 2:

<!DOCTYPE html>
<html>
<title>SVG Filter</title>
  
<body>
    <svg width="200" height="200">
  
        <filter id="feOffset" x="-40" y="-20" 
                width="100" height="200">
            <feOffset in="SourceGraphic" dx="60" dy="60" />
            <feGaussianBlur stdDeviation="5" result="blur2" />
  
            <feMerge>
                <feMergeNode in="BackgroundImage" />
                <feMergeNode in="SourceGraphic" />
            </feMerge>
        </filter>
  
        <rect x="40" y="40" width="100" height="100" 
            style="stroke: #000000; fill: red; 
                filter: url(#feOffset);" />
        <rect x="40" y="40" width="100" height="100" 
            style="stroke: #000000; fill: red;" />
    </svg>
</body>
  
</html

Выход: