【发布时间】:2013-01-29 00:32:28
【问题描述】:
我有一个 SVGimage 元素,我希望该图像具有使用 feOffset、feGaussianBlur 等的阴影。
同时,我需要设置图像的亮度和对比度,
我尝试了以下代码:
<image x="10" y="100" width="440" height="60" xlink:href="/images/pulpit.jpg" preserveAspectRatio="defer" filter="url(#drop)"></image>
<defs>
<filter id="drop" filterUnits="userSpaceOnUse">
<feComponentTransfer in="SourceAlpha" result="doo">
<feFuncR type="discrete" tablevalues="3" />
</feComponentTransfer>
<feOffset dx="80" dy="0" result="shadow" in="doo" />
<feGaussianBlur stdDeviation="20 0" in="shadow" result="blurOut"/>
<feBlend in="SourceGraphic" in2="blurOut" />
<feComponentTransfer in="SourceGraphic">
<feFuncR type="linear" slope="0.4" />
</feComponentTransfer>
</filter>
<defs>
</svg>
但它最终只使用了最后一个过滤器(第二个 feComponentTransfer), 有什么想法可以同时申请这两个过滤器吗?
直到 feBlend 的第一个 feComponentTransfer 是创建一个投影, 第二个feComponentTransfer是设置图像本身的亮度(不是阴影)
【问题讨论】:
-
您尝试过 feMerge 吗?它唯一的工作就是组合过滤器。
标签: image html svg svg-filters