mxClient都呈现不同的形状为正方形(mxClient renders different sh

2019-10-30 03:53发布

几个星期前,我被要求升级基于一个很老的版本MXGraph库(版本2.4)的Web应用程序。 该应用程序还集成了“grapheditor”一种演示应用程序的后面Diagramly进而演变中Draw.io)。 最近,我完成了更多的问题环节,从老“grapheditor”到Draw.io过渡,所以我现在可以打开所有以前的图表(保存为纯XML),修改和保存他们始终如一。 好吧,这是漂亮的一部分。 不好的一面是应用程序,其中,用户可以更多或更少,只能查看的图表的“只读”部分。 该页面是基于呈现通过该代码在XML描述的图中的mxClient.js:

    var graph = new mxGraph(container);
    var diagram = mxUtils.parseXml(xml);
    var codec = new mxCodec(diagram);
    codec.decode(diagram.documentElement, graph.getModel());
    graph.fit();

升级MX库到最新版本(3.9.10)相同的代码工作,但一些形状不正确呈现,它们显示为方形而非圆形,椭圆形等,下面的两个图像此不当行为的例子

图中draw.io

通过mxClient呈现相同的图

一些尝试后,我发现老mxClient能够完美地呈现相同的图形(如draw.io一样),所以我觉得有什么不对劲,或者没有在我的代码或mxGraph安装/配置。 作为一个临时的解决办法,我可以代替保持旧版本mxGraph,但很明显,我想用新的。 有人能给我这样的一个暗示? 任何帮助将是非常赞赏。 谢谢!

Answer 1:

磁带形状没有芯mxGraph的一部分,它是GraphEditor一部分。例如,在附加形状的JavaScript 。

如果你看一下椭圆的风格,这可能不是一个核心,从Shapes.js最有可能的一个又一个。

无论是拉shapes.js,或使用在draw.io观众 。



文章来源: mxClient renders different shapes all as squares