【发布时间】:2019-11-06 12:52:48
【问题描述】:
我在 SVG 中创建了一个圆圈并尝试在圆圈中显示图像,当圆圈大小增加时,图像也在增加,但我希望图像与原来相同,在不改变图像大小的情况下更改圆圈大小,目前它正在填充圆圈:
这是HTML代码,有人可以帮忙
<svg id="graph" width="100%" height="400px">
<!-- pattern -->
<defs>
<pattern id="image" x="0%" y="0%" height="100%" width="100%"
viewBox="0 0 512 512">
<image x="0%" y="0%" width="512" height="512" xlink:href="https://ppcaxis.com/cat-150.jpg"></image>
</pattern>
</defs>
<circle id="sd" class="medium" cx="5%" cy="40%" r="5%" fill="url(#image)" stroke="lightblue" stroke-width="0.5%" />
<circle id="sd2" class="medium" cx="25%" cy="50%" r="10%" fill="url(#image)" stroke="lightblue" stroke-width="0.5%" />
<circle id="sd3" class="medium" cx="25%" cy="80%" r="15%" fill="url(#image)" stroke="lightblue" stroke-width="0.5%" />
</svg>
这里只对我提出挑战,不要在圆圈中调整大小和填充图像。
【问题讨论】:
-
您为此使用 SVG 有什么原因吗?为什么不是 HTML?
-
是的,我必须将 SVG 用于动画目的,无法使用 div 处理这些动画
-
你想要什么样的动画,我很确定我们可以用 CSS 做到这一点
-
d3.js 会发生动画之类的事情,这就是我试图仅从 svg 实现的原因
标签: javascript html css svg svg-filters