【发布时间】:2013-01-17 01:43:06
【问题描述】:
我想对 SVG 文件应用一个简单的投影。由于这确实是我第一次深入研究 SVG 过滤器,因此我陷入困境并且找不到解决(可能很简单)问题的解决方案:为什么 feColorMatrix 没有应用于阴影?
这里是过滤器:
<defs>
<filter id="drop-shadow" filterUnits="userSpaceOnUse" width="120" height="120">
<feGaussianBlur in="SourceAlpha" result="blur-out" stdDeviation="1" />
<feOffset in="blur-out" result="the-shadow" dx="0" dy="1"/>
<feColorMatrix in="the-shadow" result="color-out" type="matrix"
values="0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0.1 0"/>
<feBlend in="SourceGraphic" in2="the-shadow" mode="normal"/>
</filter>
</defs>
另外,FireFox 是否有可能忽略feOffset?还是语法有问题?
另外:在所有浏览器中,投影似乎在顶部和左侧被剪掉了。 svg(在 img 标签中)是 22px x 22px 大,我已经放大了 viewBox:
<svg version="1.1" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" width="22px" height="22px" viewBox="0 0 24 24" enable-background="new 0 0 24 24"
xml:space="preserve">
但仍然没有运气。在我的 CSS 文件中,img 没有设置宽度或高度,所以我相信它与 SVG 有关。
【问题讨论】:
标签: svg vector-graphics svg-filters