gpt4 book ai didi

svg - 在 SVG 中绘制一个带有阴影的圆圈会剪裁边缘

转载 作者:行者123 更新时间:2023-12-04 01:47:21 25 4
gpt4 key购买 nike

我试图在 SVG 中绘制一个带有阴影的简单圆圈,但由于某种原因,顶部和左侧边缘被剪裁了。这在 Chrome 和 Safari 中都会发生。

enter image description here

我正在使用在 w3schools 教程中找到的代码 SVG Drop Shadows ,修改为使用圆形代替。

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="f1" x="0" y="0" width="200%" height="200%">
<feOffset result="offOut" in="SourceAlpha" dx="2" dy="2" />
<feGaussianBlur result="blurOut" in="offOut" stdDeviation="1" />
<feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
</filter>
</defs>
<circle r="30" cx="50" cy="50" style="stroke:gray; fill:aliceblue; stroke-width:3px" filter="url(#f1)" />
</svg>

我尝试移动圆圈,增加 SVG 容器的大小等,但得到了相同的结果。我还尝试谷歌搜索各种投影教程,并总是修改示例代码以使用圆圈。每次结果都一样。

那么如何在 SVG 中绘制一个带有阴影的简单圆圈呢?

最佳答案

原来问题在于过滤器的偏移量。圆圈周围没有足够的填充来容纳新添加的过滤器。要添加它,请使用以下属性(根据需要进行调整):

<filter id="f1" x="-20%" y="-20%" width="200%" height="200%">

x 和 y 将过滤器的框向上和向左放置一些,这是以前缺少的。宽度和高度然后指定框大小。在这种情况下,200% 是多余的,但对于较大的阴影可能是必要的。

关于svg - 在 SVG 中绘制一个带有阴影的圆圈会剪裁边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12592129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com