代码之家  ›  专栏  ›  技术社区  ›  Melanie

如何更改cytoscape.js中覆盖层的形状和z索引?

  •  0
  • Melanie  · 技术社区  · 11 年前

    我希望有一个不在标签上的覆盖层,并且与它所在的节点具有相同的形状。我如何扩展cytoscape.js或重用现有的功能性?

    我试图使用边框来实现这一结果,但我不喜欢的是,边框位于形状内部,正如您在所附图像中看到的那样。

    node with a border of 10px

    1 回复  |  直到 11 年前
        1
  •  1
  •   maxkfranz    11 年前

    边框是画布上的笔划。这就是API在浏览器中的工作方式,也是用来创建Cy.js可视化的API。

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

    关于覆盖:不,不可能以通用方式进行。对于某些形状,绘制节点主体形状作为覆盖就足够了,但只需要较大的大小——但这对于诸如 triangle .

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

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

    编辑:或者可能是(新的) border-z-order 样式属性或类似属性是否适合您?如果节点是不透明的,那么将边界隐藏在后面不需要剪裁。。。