Javascript 在圆形svg中添加阴影
鉴于以下代码:Javascript 在圆形svg中添加阴影,javascript,html,svg,svg-filters,Javascript,Html,Svg,Svg Filters,鉴于以下代码: 滤芯中的x&y参数实际上是什么 过滤器元素中的x&y参数是否可以通过javascript保持更改?我可以根据var h和var k中变量的变化来定义house()中过滤器元件的变化x和y参数 对代码进行必要的更改以满足需要 多功能厅(e) { var h=e.clientX; var k=e.clientY; var ball=document.getElementById(“圆”); var r=ball.getAttribute(“r”); 设置属性(“cx”,h); b
多功能厅(e)
{
var h=e.clientX;
var k=e.clientY;
var ball=document.getElementById(“圆”);
var r=ball.getAttribute(“r”);
设置属性(“cx”,h);
ball.setAttribute(“cy”,k);
}
过滤元素的x和y属性以及宽度和高度描述了“过滤区域”,即相对于过滤元素(或用户空间)的区域,过滤结果在该区域可见。有关更多信息,请参阅的web平台文档:
是的,您可以将它们与JavaScript不同,尽管这样做有点不寻常。您总是可以通过getElementById(“f1”)获取过滤器元素,并以此方式设置x和y
从您的示例代码中有点不清楚您试图实现什么 x和y是过滤器渲染内容的原点。 如果应用过滤器生成形状阴影,在某些情况下,模糊会扩展到形状内容之外,在某些情况下,x和y必须为负数才能完全显示过滤器生成的阴影模糊 此代码显示了使用janvas()创建的阴影过滤器 如果您用janvas画一个圆圈并发布svg,您将看到此svg代码进入“def”标记,x和y值为-20%
<filter id="_0_" x="-20%" y="-20%" width="200%" height="200%" type="Shadow" shadowoffsetx="5" shadowoffsety="5" shadowblur="5" shadowcolor="rgba(0,0,0,.5)">
<feOffset result="offOut" in="SourceGraphic" dx="5" dy="5">
</feOffset>
<feColorMatrix result="matrixOut" in="offOut" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0">
</feColorMatrix>
<feGaussianBlur result="blurOut" in="matrixOut" stdDeviation="2">
</feGaussianBlur>
<feBlend in="SourceGraphic" in2="blurOut" mode="normal">
</feBlend>
</filter>
@pswg编辑什么?只是格式化。你可以点击我名字上方的链接查看问题,查看编辑的内容。
<filter id="_0_" x="-20%" y="-20%" width="200%" height="200%" type="Shadow" shadowoffsetx="5" shadowoffsety="5" shadowblur="5" shadowcolor="rgba(0,0,0,.5)">
<feOffset result="offOut" in="SourceGraphic" dx="5" dy="5">
</feOffset>
<feColorMatrix result="matrixOut" in="offOut" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0">
</feColorMatrix>
<feGaussianBlur result="blurOut" in="matrixOut" stdDeviation="2">
</feGaussianBlur>
<feBlend in="SourceGraphic" in2="blurOut" mode="normal">
</feBlend>
</filter>