Я думаю, что ответ Павла близок, но не совсем корректен.
Формула feBlend:
Opacity of Final Pixel = 1 - (1- Opacity of Image A Pixel)*(1- Opacity of Image B Pixel)
Если сначала сделать маску, а затем наложить, окончательная непрозрачность будетнемного прочьНапример, для пиксела с непрозрачностью 0,6 на изображении A конечная непрозрачность пикселя будет равна 1 - (.6 * .6) = .64
Это близко, но не так, как0.6.
Если вы хотите сохранить точную непрозрачность изображения А в конечном изображении - сначала нужно выполнить смешивание, а затем - маскирование.Это предполагает, что вы хотите, чтобы осветление было сделано на предварительно умноженных, "100% -прозрачно-эквивалентных" цветах, что обычно имеет место.
<svg width="544" height="184">
<filter id="filter">
<feFlood result="flood" flood-color="blue" />
<feBlend in="SourceGraphic" in2="flood" mode="lighten" result="blend"/>
<feComposite in="blend" in2="SourceAlpha" operator="atop" result="maskedflood"/>
</filter>
<image filter="url(#filter)" width="544" height="184" href="https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" />
</svg>