我正在开发一个小型教育工具,为此我想将阴影添加到SVG路径。为了构建我的图形,我使用了D3.js.这通常是可爱的,但具体的形状我遇到了问题,特别是对于具有水平和/或垂直线的小形状。如何防止使用D3的小形状的前卫阴影
为了说明这一点,我做了一个JSFiddle example三个三角形。绿色三角形上的阴影看起来很漂亮,橙色三角形上的阴影仍然正常,但红色三角形上的阴影看起来非常难看。
阴影使用this code作为示例中创建:
var defs = svg.append("defs").attr("height","160%");
var filter = defs.append("filter").attr("id", "schaduw");
filter.append("feGaussianBlur").attr("in", "SourceAlpha")
.attr("stdDeviation", 5).attr("result", "blur");
filter.append("feOffset").attr("in", "blur")
.attr("dx", 3)
.attr("dy", 3)
.attr("result", "offsetBlur");
var feMerge = filter.append("feMerge");
feMerge.append("feMergeNode").attr("in", "offsetBlur");
feMerge.append("feMergeNode").attr("in", "SourceGraphic");
如在的jsfiddle码中可以看出,形状之间的唯一有意义的区别是它们的大小。我怎样才能防止小的形状有丑陋的阴影?
任何帮助非常感谢! =)