【问题标题】:Radial Gradient Clippath径向渐变剪贴路径
【发布时间】:2015-05-10 18:44:45
【问题描述】:

我想使用剪辑路径将图像暴露在另一个图像后面。

我正在使用 svg 圆形元素。我想要的结果是柔和的渐变边缘,而不是 clipPath 提供的硬边缘。

这可能吗?我知道我可以使用蒙版来做到这一点,但似乎无法让它与 clipPath 一起使用。

到目前为止,这是我的代码:

 <svg id="mysvg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  viewBox="0 0 500 500">
              <defs>

                    <radialGradient id="grad" cx="50%" cy="50%" r="50%">
                      <stop stop-color="white" offset="0%"/>
                      <stop stop-color="black" offset="100%"/>
                    </radialGradient>
                    <clipPath id="clip1" >
                        <circle cx="0" cy="0" r="30" fill="url(#grad)"  />
                    </clipPath>
                </defs>


              <image id="darkMap"  xlink:href="images/darkMapSml.jpg" width="100%" height="100%" ></image>
             <image id="topImg" xlink:href="images/lightMapSml.jpg" width="100%" height="100%" clip-path="url(#clip1)" />


         </svg>

【问题讨论】:

    标签: svg gradient clip-path


    【解决方案1】:

    不,如果你想要渐变,你必须使用&lt;mask&gt;&lt;clipPath&gt; 只考虑内部形状的几何形状。

    【讨论】:

    • 谢谢 Erik...还有一个问题。如果我采用蒙版路线...我尝试过...并动态地将多个圆形svg添加到蒙版中(onclick),它会开始降低性能并在滚动图像时变得迟钝。还有其他方法可以解决这个问题吗?
    • 我建议将其作为一个新问题提出,并提供更完整的代码,并包含有关何时遇到滞后的详细信息(什么设备、浏览器等)。
    • 大声笑...我有,但没有人愿意回答...哈哈,但无论如何感谢您的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多