mxClient 将不同的形状都呈现为正方形
mxClient renders different shapes all as squares
几周前,有人要求我升级一个基于非常旧版本的 MXGraph 库(2.4 版)的 Web 应用程序。该应用程序还集成了 'grapheditor' 一种后来在 Diagramly 中发展起来的演示应用程序
然后在 Draw.io)。最近我完成了更有问题的步骤,从旧的“grapheditor”到 Draw.io 的过渡,所以我现在可以打开所有以前的图表(保存为普通 XML),修改并一致地保存它们。
好的,这是很好的部分。不好的一面是应用程序的 'read-only' 部分,用户或多或少只能查看图表。
此页面基于 mxClient.js 通过此代码呈现 xml 中描述的图表:
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 installation/configuration.
作为临时解决方法,我可以保留旧版本的 mxGraph,但显然我想使用新版本。
有人可以给我一个提示吗?任何帮助将不胜感激。
磁带形状不是核心 mxGraph 的一部分,它是 GraphEditor 示例的一部分,在附加的 shapes JavaScript.
中
如果你看一下椭圆的样式,它可能不是核心中的那个,很可能是 Shapes.js 中的另一个。
要么拉入 shapes.js,要么使用 viewer in draw.io.
几周前,有人要求我升级一个基于非常旧版本的 MXGraph 库(2.4 版)的 Web 应用程序。该应用程序还集成了 'grapheditor' 一种后来在 Diagramly 中发展起来的演示应用程序 然后在 Draw.io)。最近我完成了更有问题的步骤,从旧的“grapheditor”到 Draw.io 的过渡,所以我现在可以打开所有以前的图表(保存为普通 XML),修改并一致地保存它们。 好的,这是很好的部分。不好的一面是应用程序的 'read-only' 部分,用户或多或少只能查看图表。 此页面基于 mxClient.js 通过此代码呈现 xml 中描述的图表:
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 installation/configuration.
作为临时解决方法,我可以保留旧版本的 mxGraph,但显然我想使用新版本。 有人可以给我一个提示吗?任何帮助将不胜感激。
磁带形状不是核心 mxGraph 的一部分,它是 GraphEditor 示例的一部分,在附加的 shapes JavaScript.
中如果你看一下椭圆的样式,它可能不是核心中的那个,很可能是 Shapes.js 中的另一个。
要么拉入 shapes.js,要么使用 viewer in draw.io.