如何更改 cytoscape.js 中叠加层的形状和 z-index?

How can I change the shape and z-index of the overlay in cytoscape.js?

我想要一个不在标签上的叠加层,并且其形状与其所在的节点相同。我如何扩展 cytoscape.js 或重用现有功能来做到这一点?

我尝试使用边框来实现此结果,但我不喜欢的是边框进入形状内部,如附图所示。

边框是 canvas 中的一笔画。这就是 API 在浏览器中的工作方式,这就是 API 用于创建 Cy.js 可视化的方式。

通过裁剪在节点主体之前绘制边框可能会使边框不像笔划,但会带来高昂的费用——当许多用户需要高性能图形时,这是不可接受的。半透明边框在美学和性能方面是一个很好的妥协。

关于覆盖:不,不可能以通用方式做到这一点。对于某些形状,将节点主体形状绘制为覆盖层就足够了,但尺寸要大一些——但这不适用于 triangle.

等形状

如果我是你,我会选择半透明边框——至少现在是这样。或者,您可以使用较小的覆盖层,使其更贴合。

如果你真的想,我可以给你指出修改代码的方向。

编辑:或者(新的)border-z-order 风格 属性 或类似的风格可能适合您?如果您的节点是不透明的,那么后面的边框不需要剪裁...