首页  >  文章  >  web前端  >  如何调整图像大小以适合圆形 SVG 蒙版?

如何调整图像大小以适合圆形 SVG 蒙版?

Susan Sarandon
Susan Sarandon原创
2024-10-23 15:49:02579浏览

How to Resize an Image for a Circular SVG Mask Fit?

调整图像大小以适合圆形 SVG 路径

尝试使用 SVG 路径从图像中剪切圆形部分时,这一点很重要以确保正确对齐。如果图像不太适合,可能是由于 SVG 蒙版的大小或位置不正确。

这是实现所需结果的替代方法:

使用增强SVG 蒙版:

此方法使用 SVG 蒙版创建一个圆孔,在其中显示图像:

<code class="svg"><svg width="200" height="200">
  <defs>
    <mask id="hole">
      <circle r="100" cx="100" cy="100" fill="white"/>
      <circle r="50" cx="180" cy="180" fill="black"/>
    </mask>
    <pattern id="img" patternUnits="userSpaceOnUse" width="200" height="200">
      <image xlink:href="https://picsum.photos/200/200?image=1069" x="0" y="0" width="200" height="200" />
    </pattern>
  </defs>
  <!-- Create a rect, fill it with the image and apply the mask -->
  <rect fill="url(#img)" width="100%" height="100%" mask="url(#hole)" />
</svg></code>

说明:

  • #hole:这定义了包含两个圆圈(一白一黑)的 SVG 蒙版。白色圆圈代表要显示的区域,而黑色圆圈创建一个遮罩来隐藏圆圈之外的区域。
  • #img:SVG 模式使用图像定义模式。 patternUnits="userSpaceOnUse" 属性确保图案拉伸以适合其所应用的形状。
  • rect 元素使用 #img 图案填充整个 SVG 容器,并应用 #hole 蒙版以显示圆形切口。

使用这种增强的方法,图像现在应该正确地适合圆形 SVG 蒙版。

以上是如何调整图像大小以适合圆形 SVG 蒙版?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn