gpt4 book ai didi

java - 用SVG+Java做灵活的信息展示,可行吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:40:13 27 4
gpt4 key购买 nike

我需要创建复杂电气系统的“模拟”显示。我可以在 Visio 中访问实时状态信息和系统框图。

这是可行的方法吗:

  1. 从系统框图创建 SVG 绘图

  2. 用 SVG 属性标记感兴趣的 SVG 元素

  3. 将 SVG DOM 加载到 java 中

  4. 找到标记的元素并根据系统状态信息修改它们(例如,如果元素“处于警报状态”,则将其设为红色)

  5. 使用 BATIK 将 SVG 渲染为 PNG 以便显示(使用 swing 组件:JSVGCanvas)

一个关键要求是能够在部署应用后灵活地修改 SVG。该应用程序能够根据 SVG 中的标签灵活地拉入不同的“数据点”。

有人使用类似的策略取得了成功吗?我应该期待什么陷阱?SVG 编辑工具存在哪些问题?

最佳答案

我已经为健康状态显示做了类似的事情。实际上,我对数据对象进行了注释,并将它们的状态推送到一个愚蠢的 SVG 文件中,但机制应该大致相同,只是颠倒过来了。

好处:

  • 使复杂的动态图表非常容易呈现。
  • 与我用过的其他工具相比,图表维护是轻而易举的事。
  • 能够直接通过 SVG 或通过交付给客户端的服务器渲染图像间接定位网络应用。

陷阱:

  • 数据绑定(bind)可能会很痛苦,具体取决于您希望可视化的复杂程度。如果您想注释 SVG 以将数据拉入自身,这可能最终会成为困难的部分。
  • 您需要很好地掌握 XPath 才能完成任何稍微棘手的事情。调试 XPath 表达式并不困难,但通常很乏味。

编辑: Inkscape .还有一些其他的 vector 图形编辑器可以直接或作为导出目标来处理 SVG,但我见过的没有一个能与 Inkscape 相提并论。它不支持当前 SVG 规范中的所有功能,但听起来它足以满足您的大部分需求(如果不是全部的话)。当您需要 SVG 文件不支持的内容时,不对 SVG 文件进行手动编辑也很好。

关于java - 用SVG+Java做灵活的信息展示,可行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3839527/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com