从 svg 标记字符串重新加载自定义工具

Reloading custom tool from svg markup string

我正在使用 Markup Core 扩展,并创建了一个带有编辑模式等的自定义工具。该工具似乎在首次添加到 canvas、拖动、调整大小并单击保存时运行良好,我可以在标记数组中看到我的新 DotMarkup。

但是,当调用 generateData 并保存 svg 字符串时,尝试使用 loadMarkups(svg, layerName) 将数据加载到新图层时,自定义标记显示在屏幕上但不可点击,标记在标记数组(在编辑器上,或在 svg 标记数组中)。

感谢任何帮助

我最近也一直在研究这个问题,不幸的是 MarkupsCore 扩展还不支持导出和 re-importing 自定义标记。如果您查看 extension code 并搜索 createMarkupFromSVG,您会注意到在函数末尾,它只是一个带有 built-in 标记类型的长 switch。因此,当您的自定义 SVG 加载时,它不被视为“标记 SVG”。要解决此问题,您可能必须自己解析 SVG 字符串并手动设置扩展的内部状态(例如 this.markups)。