【发布时间】:2021-08-04 21:16:54
【问题描述】:
我一直在搞乱 SVG 蒙版,在阅读了几篇文章并测试了一些代码以获得更高级的蒙版(不仅仅是简单的多边形)之后,我想出了这个:
<div class="picture">
<img src="https://i.postimg.cc/0Njq2C60/bartrix.png"
alt="" style="clip-path: url(#myClip)">
</div>
<svg width="0" height="0">
<defs>
<clipPath id="myClip">
<path id="blob" fill="none"
d="M351,264.5Q338,279,387.5,332.5Q437,386,400.5,396Q364,406,324,380.5Q284,355,267,420Q250,485,225.5,443Q201,401,158,418.5Q115,436,82,416Q49,396,112.5,335Q176,274,100,262Q24,250,75,230Q126,210,100,166Q74,122,135.5,150Q197,178,197.5,134Q198,90,224,60Q250,30,275.5,62Q301,94,314.5,118.5Q328,143,348,153.5Q368,164,397.5,178Q427,192,395.5,221Q364,250,351,264.5Z" />
</clipPath>
</defs>
</svg>
看起来很不错,但我偶然发现了两个问题:
- 如您所见,此测试中使用的图像在蒙版的可见部分中定位得并不好。因此我想知道是否可以重新定位它
- 它很大!因为我不太熟悉 SVG,所以我无法调整它的大小,因为通常的属性对父级 (
.picture) 没有任何作用,在 SVG 本身中,如果应用于图像,它就会消失。使用transform重新缩放它,虽然可行,但我非常怀疑这是正确的方法。
因此,总而言之,我如何屏蔽 任何 图像,在此蒙版内调整它而不编辑图像本身(这是最理想的 - 一个适用于图像而不是图像的代码适用于代码,如果您知道我的意思)。
如果有任何机会可以使用任何其他面具,那就更好了。这个形状是我能找到的最好的形状之一,但我还有其他几个要测试。
【问题讨论】: