【发布时间】:2022-01-21 01:18:40
【问题描述】:
我的左侧有一个矩形和一个圆形。 两者都是白色的。
我正在尝试在矩形上创建一个投影,并在矩形左侧部分顶部的圆形上创建一个投影。
这是一个小提琴
https://jsfiddle.net/fLbz6qn1/30/
let svg = d3.select("#container")
.append("svg");
svg.select("defs")
.append("svg:filter")
.attr("id", "nodeShadow")
.append("feDropShadow")
.attr("dx", 0.5)
.attr("dy", 3.2)
.attr("stdDeviation", 3)
.attr("flood-opacity", 0.3)
.attr("flood-color", "lightgray");
svg.select("defs")
.append("svg:filter")
.attr("id", "circleShadow")
.append("feDropShadow")
.attr("dx", 2.0)
.attr("dy", 1.6)
.attr("stdDeviation", 4)
.attr("flood-color", "lightgray");
// node
let containerNode = svg.append("g");
containerNode.append("rect")
.attr("x", 100)
.attr("y", 150)
//.attr("filter", "url(#nodeShadow)")
.attr("fill", "#FFFFFF")
.attr("width", 250)
.attr("height", 30);
containerNode.append("circle")
.attr("cx", 115)
.attr("cy", 165)
.attr("r", 15)
.attr("fill", "transparent")
//.attr("filter", "url(#circleShadow)")
.attr("stroke", "#ffffff")
.attr("stroke-width", "0.001")
.attr("width", 30)
.attr("height", 30);
我创建了 2 个过滤器,一个用于矩形,一个用于圆形。 我在圆圈上将它们注释掉并纠正。
【问题讨论】: