【问题标题】:svg blur effect, set specific colorsvg模糊效果,设置特定颜色
【发布时间】:2019-03-03 03:00:40
【问题描述】:

我开始玩 svg 效果和动画,我发现了如何将模糊效果应用到 svg 路径的好例子,但我不知道如何设置所需的颜色而不是默认的黑色。

<defs>
    <filter id="dropShadow">
        <feGaussianBlur in="SourceAlpha" stdDeviation="3" />
        <feOffset dx="2" dy="4" />
        <feMerge>
            <feMergeNode />
            <feMergeNode in="SourceGraphic" />
        </feMerge>
    </filter>
</defs>

正如您在包含的 sn-p 中看到的那样,我想添加一些绿色代码以将其应用为模糊颜色而不是黑色,我正在使用 svg 文档但还没有找到工作示例.

也许有人可以在这里展示如何实现颜色集;)

var screenCorners = [
    [50., 150.], 
    [450., 150.],
    [350., 50.],
    [ 150., 50.]
];

document.querySelector('#trapezoid').setAttribute('d', `
	M ${screenCorners[0][0]} ${screenCorners[0][1]}
	L ${screenCorners[1][0]} ${screenCorners[1][1]}
	L ${screenCorners[2][0]} ${screenCorners[2][1]}
	L ${screenCorners[3][0]} ${screenCorners[3][1]}
	Z
`);
body {
	background:#333;
}

svg {
	width:500px;
	height:200px;
	position:absolute;
	top:0;
	left:0;
}

#trapezoid {
	fill:none;
  stroke:white;
}
<svg id="demo">
	<defs>
		<filter id="dropShadow">
			<feGaussianBlur in="SourceAlpha" stdDeviation="3" />
			<feOffset dx="2" dy="4" />
			<feMerge>
				<feMergeNode />
				<feMergeNode in="SourceGraphic" />
			</feMerge>
		</filter>
	</defs>
	<path id="trapezoid" filter="url(#dropShadow)"></path>
</svg>

【问题讨论】:

    标签: css svg svg-filters


    【解决方案1】:

    为了给阴影添加颜色,您需要使用 .在这个例子中,阴影是白色的。

    var screenCorners = [
        [50., 150.], 
        [450., 150.],
        [350., 50.],
        [ 150., 50.]
    ];
    
    document.querySelector('#trapezoid').setAttribute('d', `
    	M ${screenCorners[0][0]} ${screenCorners[0][1]}
    	L ${screenCorners[1][0]} ${screenCorners[1][1]}
    	L ${screenCorners[2][0]} ${screenCorners[2][1]}
    	L ${screenCorners[3][0]} ${screenCorners[3][1]}
    	Z
    `);
    body {
    	background:#333;
    }
    
    svg {
    	width:500px;
    	height:200px;
    	position:absolute;
    	top:0;
    	left:0;
    }
    
    #trapezoid {
    	fill:none;
      stroke:white;
    }
    <svg id="demo">
    	<defs>
    		<filter id="dropShadow">
    			<feGaussianBlur in="SourceAlpha" stdDeviation="3" result="blur1" />
          <feFlood flood-color="white" result="color"/>
          <feComposite in="color" in2="blur1" operator="in" result="sombra" />
    			<feOffset dx="2" dy="4" />
    			<feMerge>
    				<feMergeNode />
    				<feMergeNode in="SourceGraphic" />
    			</feMerge>
    		</filter>
        
    	</defs>
    	<path id="trapezoid" filter="url(#dropShadow)"></path>
    </svg>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      • 2022-01-19
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多