【问题标题】:Cutting an SVG Mask into an image将 SVG 蒙版切割成图像
【发布时间】:2014-10-15 16:14:20
【问题描述】:

我在开发一个新网站时遇到了问题。这是我第一次使用 SVG。基本上,我需要从图像中剪出一个始终位于页面中心的圆圈,以显示元素下的图像。我尝试过使用我的剪辑,一切都很棒。我似乎无法在我的掩码代码中找到错误。这是我设置的快速小提琴link。谢谢!

    <div class="bg-gradient">
    <img src="http://www.redhdwallpapers.com/wp-content/uploads/2014/05/red-background-6.jpg"/>
</div>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <mask id="mask">
      <circle cx="50%" cy="50%" r="45%" fill="none" />
    </mask>
  </defs>
</svg>

【问题讨论】:

    标签: css svg clipping image-masking image-clipping


    【解决方案1】:

    fill="none" 的掩码根本就不是掩码。请尝试使用 fill="white"。

    如果你想要一个洞,那么你会想让你的蒙版与现在相反,所以使用带有fill-rule: evenodd 属性的路径,并首先使用 M、h 和 v 围绕边缘绘制一个矩形图像,然后使用圆弧或贝塞尔曲线在与您绘制边缘的方向相反的方向上绘制一个圆,以便填充规则在路径中形成一个洞。

    您最好切换回 clipPath,因为如果您只想进行剪辑,它使用的内存比掩码少得多。

    【讨论】:

    • 但我需要在元素上切一个洞才能看到它下面的背景。
    • 好的,所以我决定采用另一种方法并使用 SVG 并用图像填充背景。我现在面临的问题是我想修复背景图像/图案。这样在滚动时它会显示图像的不同部分。这就是我创建的atm。 dev.badalic.com/skrollr-test.html
    猜你喜欢
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 2011-06-20
    • 2019-07-15
    相关资源
    最近更新 更多