使用边框时节点的背景图像被裁剪

Node's background image is clipped when using border

我想使用 PNG(或 SVG)背景图像(背景适合:'contain'),然后动态更改节点边框(基于数据)。一切正常,除了一件事:节点边界在节点周围呈现 "centered",所以线的一半在节点尺寸之外,一半在节点内部。这会剪裁背景图片(请参阅下面的 nodes.jpg)。

nodes.jpg

作为一种解决方法,我尝试使用 'background-width' 和 'background-height'(设置为 60%)来创建类似于 CSS 中的填充,但这会改变背景图像的纵横比(它拉伸了图像)我不想要。

有没有一种方法可以使用 Cytoscape.js 中的当前 CSS 样式(我使用的是 CY 2.7.11)实现预期的结果?

这就是笔划在 canvas 中的工作方式。除非浏览器添加新的 API 来控制笔划位置(内部,外部,on/mid),否则没有有效的方法来拥有外部边框。

设置一个填充以扩大节点的外部width/height而不影响其内部width/height(用于bg img大小调整):http://js.cytoscape.org/#style/node-body

只需将填充设置为边框宽度的一半或更大。