Доброго времени суток!
Имеется вот такой код
https://codepen.io/akira13w/pen/WNRqXLm
Ничего особенного.
SVG маска наложенная на картинку
Код HTML<div class="wrapper">
<svg width="200" height="300" class="svg">
<symbol id="s-mask-logo">
<g stroke="gray" stroke-width="12" fill="white">
<circle cx="33%" cy="30%" r="20%" />
<circle cx="52%" cy="62%" r="32%" />
</g>
</symbol>
<mask id="mask-logo">
<use xlink:href="#s-mask-logo" />
</mask>
<symbol id="foto-1">
<image xlink:href="https://images.unsplash.com/photo-1618870216357-fe28db18c337?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxNDU4OXwwfDF8cmFuZG9tfHx8fHx8fHx8MTYxOTg0MDk1Nw&ixlib=rb-1.2.1&q=80&w=400k" xlink:href="#foto-1" width="199" height="300" />
</symbol>
<symbol id="foto-2">
<image xlink:href="https://images.unsplash.com/photo-1617247815841-35c481245e46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxNDU4OXwwfDF8cmFuZG9tfHx8fHx8fHx8MTYxOTgzNjg5OQ&ixlib=rb-1.2.1&q=80&w=400" width="199" height="300" />
</symbol>
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#foto-1"></use>
</svg>
<svg width="200" height="300" class="svg">
<rect y="0" width="100%" height="100%" fill="black" />
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#s-mask-logo"></use>
</svg>
<svg width="200" height="300" class="svg">
<g mask="url(#mask-logo)">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#foto-1"></use>
</g>
</svg>
<svg width="200" height="300" class="svg">
<g mask="url(#mask-logo)">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#foto-2"></use>
</g>
</svg>
</div>
С кодом всё как бы понятно.
Тут маске айдишник назначаем
<symbol id="s-mask-logo">
...
</symbol>
Тут айдишник картинки
<symbol id="foto-1">
...
</symbol>
Тут выводим по айдишнику картинку (для теста)
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#foto-1"></use>
Тут выводим по айдишнику маску (для теста)
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#s-mask-logo"></use>
А вот тут применяем маску (по ID) к картинке (по ID)
<svg width="200" height="300" class="svg">
<g mask="url(#mask-logo)">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#foto-1"></use>
</g>
</svg>
И всё ничего, если картинка одна. А если их сто?
Это получается, к каждой приписывать ID, а потом уже по ID назначать маску?
А нельзя ли как-то упростить?