几个星期前,我被要求升级基于一个很老的版本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,但很明显,我想用新的。 有人能给我这样的一个暗示? 任何帮助将是非常赞赏。 谢谢!