gpt4 book ai didi

SVG 滤镜 feGaussianBlur 需要增强

转载 作者:行者123 更新时间:2023-12-02 11:47:51 28 4
gpt4 key购买 nike

我想要一个带有白色外发光的黑色文本,以便在彩色 map 上可读。这就是我以前所做的:

<defs>
<filter id="label-glow">
<feGaussianBlur stdDeviation="1" />
</filter>
</defs>
<text stroke="white" stroke-width="5" filter="url(#label-glow)">Harald's Repose</text>
<text>Harald's Repose</text>

我想避免重复文本元素,因此我决定使用 feFlood 创建白色矩形,使用 feComposite 创建文本的白色副本,使用 feGaussianBlur 创建模糊,然后使用另一个 feComposite 添加原始文本文本在这一切之上。不幸的是,产生的外发光非常弱。我发现重复 feComposite 几次会有所帮助。我确信有更好的解决方案。我做错了什么?

<defs>
<filter id="label-glow">
<feFlood flood-color="white"/>
<feComposite in2="SourceGraphic" operator="in"/>
<feGaussianBlur stdDeviation="2"/>
<feComposite operator="over"/>
<feComposite operator="over"/>
<feComposite operator="over"/>
<feComposite operator="over"/>
<feComposite in="SourceGraphic"/>
</filter>
</defs>
<text filter="url(#label-glow)">Harald's Repose</text>

最佳答案

一种稍微优雅的方法是使用 Alpha channel 上的 feComponentTransfer 来调高发光的不透明度。

<filter id="label-glow">
<feFlood flood-color="white"/>
<feComposite in2="SourceGraphic" operator="in"/>
<feGaussianBlur stdDeviation="2"/>
<feComponentTransfer>
<feFuncA type="gamma" exponent=".5" amplitude="2"/>
</feComponentTransfer>
<feComposite in="SourceGraphic"/>
</filter>

您可以通过更改幅度来调整白色的平均强度,并且可以通过更改指数来调整强度衰减。

关于SVG 滤镜 feGaussianBlur 需要增强,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15130850/

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