如何在SVG中为D3画笔创建路径

Shyam奈尔

这是我下面的svg

目前的SVG代码是这样的

 <path class="c" d="M-8046.012,2842.011h-1.6" transform="translate(8047.61 -2837.554)"/>
 </g></g></g></svg>

当前这是使用组和路径组合的,这是我想附加为d3画笔柄的方法,但是这里的问题是我目前正在创建如下所示的画笔柄

const focusHandle = focusBrush.selectAll(".handle--custom")
            .data([{type: "w"}, {type: "e"}])
            .enter().append("path")
              .attr("class", "handle--custom")
              .attr("stroke", "#000")
              .attr("cursor", "ew-resize")
              .attr("d", brushResizePath)


const brushResizePath = (d) => {
            var e = +(d.type == "e"),
                x = e ? 1 : -1,
                y = this.height / 2;
            return "M" + (.5 * x) + "," + y + "A6,6 0 0 " + e + " " + (6.5 * x) + "," + (y + 6) + "V" + (2 * y - 6) + "A6,6 0 0 " + e + " " + (.5 * x) + "," + (2 * y) + "Z" + "M" + (2.5 * x) + "," + (y + 8) + "V" + (2 * y - 8) + "M" + (4.5 * x) + "," + (y + 8) + "V" + (2 * y - 8);
        }

例如:“ M0.5,54A6,6 0 0 1 6.5,60V102A6,6 0 0 1 0.5,108ZM2.5,62V100M4.5,62V100”

所以我该如何实现上面的刷柄

目前我的刷子是这样的

Thource

我在这里发现了一些与您的代码有关的问题。

箭头函数不分配this,因此this箭头函数实际上是窗口,我不确定这是否是预期的。如果要this成为路径,则需要使用功能块而不是箭头功能。

窗口和路径都没有height属性,我想您想要的是innerHeight如果您查看在d路径中设置属性,将会看到NaN您尝试使用属性y

brushResizePath在定义之前被使用,将定义移到const focusHandle上方

这是我的CodePen可以正常工作的地方:https ://codepen.io/Thource/pen/RwWqmZj

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何重置/清除d3画笔?

来自分类Dev

通过动画以编程方式调整d3画笔

来自分类Dev

使用带有多个y轴的D3画笔

来自分类Dev

如何在d3和SVG中创建阴影路径?

来自分类Dev

如何通过SVG映像在JavaFX中创建路径?

来自分类Dev

如何在加载时设置 d3 画笔范围

来自分类Dev

d3从数组创建SVG路径

来自分类Dev

d3从JSON路径创建svg

来自分类Dev

d3从数组创建SVG路径

来自分类Dev

如何在d3中为路径及其点设置动画

来自分类Dev

如何在 Laravel 中为这种情况创建路由?

来自分类Dev

d3 雷达图——radialLine 创建路径但没有坐标

来自分类Dev

如何在d3 javascript中为SVG文本元素分配唯一ID

来自分类Dev

如何在 vue-cli 中创建 d3 svg?

来自分类Dev

如何在D3中修复多重笔刷图

来自分类Dev

如何在D3中移动SVG的位置?

来自分类Dev

如何在D3中为文本锚定动画

来自分类Dev

如何在Selenium的Python中基于系统变量动态创建路径

来自分类Dev

如何在D3中创建连接节点的曲线

来自分类Dev

如何在d3线中创建折弯

来自分类Dev

如何在Eclipse的构建路径中添加短路径?

来自分类Dev

如何从变量创建路径?

来自分类Dev

在D3中使用画笔设置初始缩放

来自分类Dev

在D3中使用画笔设置初始缩放

来自分类Dev

在D3中使用画笔设置初始缩放

来自分类Dev

为D3和SVG元素创建动画

来自分类Dev

如何获得SVG路径形状以缩放D3?

来自分类Dev

在d3中访问SVG路径长度

来自分类Dev

更新 svg 和 d3 中的路径样式