【发布时间】:2011-12-19 09:28:27
【问题描述】:
我想用 SVG 写一个带有红色阴影的简单矩形。 我有一个简单的过滤器:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="1012" height="400">
<title>svg arrow with dropshadow</title>
<desc>An svg example of an arrow shape with a dropshadow filter applied. The dropshadow filter effect uses feGaussianBlur, feOffset and feMerge.</desc>
<defs>
<filter id="dropshadow" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feComponentTransfer in="SourceAlpha">
<feFuncR type="discrete" tableValues="1"/>
<feFuncG type="discrete" tableValues="0"/>
<feFuncB type="discrete" tableValues="0"/>
</feComponentTransfer>
<feGaussianBlur stdDeviation="2"/>
<feOffset dx="0" dy="0" result="shadow"/>
<feComposite in="SourceGraphic" in2="shadow" operator="over"/>
</filter>
</defs>
<rect rx="2" ry="2" fill="rgb(255,255,255)" x="5.25" y="5.25" width="141" height="50" fill-opacity="0.85" filter="url(#dropshadow)">
</svg>
为什么在这个例子中阴影颜色不是红色?我的坏在哪里?
【问题讨论】:
-
dev.opera.com/articles/view/svg-evolution-3-applying-polish/… 您可以将原始滤镜图像与真实图像叠加,以实现它。我就是这样用的。
标签: colors svg shadow svg-filters