所需建议:用于创建大量使用文本的矢量图形的编程方法

时间:2010-07-20 14:14:18

标签: java vector svg vector-graphics

我需要一种渲染树状结构的方法,类似于流程图。

令人惊讶的是,我找不到(或者我做错了)一个合适的工具。

首先,我查看了SVG。但我找不到在文本周围绘制边界框的方法 不使用ECMAScript:我试图做一个简单的事情,绘制两个由框包围的文本,并用一条线连接,以边为中心(有些像OO,其中O是带文字的框)。当你使用ECMAScript时,你严重限制可用于SVG渲染的工具(例如,您无法使用ImageMagick将此类SVG正确转换为png或pdf)。

其次,我尝试了Asymptote,但是当你开始使用文本进行操作时(你需要安装和配置LaTeX系统),它会非常繁重。

我寻找一种可以使用的工具:

  1. 以编程方式访问字体属性:基线,上升,下降,高度
  2. 计算字符串(或边界框)的高度/宽度
  3. 基本矢量图形功能,如绘制线条,形状等。
  4. 我认为这不是一件难事。例如,所有这些功能都存在于例如Java2D中。当然,我可以将它作为最后的手段使用并获得光栅图形,但可能有一些方便使用的东西吗?

2 个答案:

答案 0 :(得分:1)

你看过GraphViz(http://www.graphviz.org/)了吗?它并不真正符合您的要求,因为您放弃了一些控制,而是让工具根据图形或树的声明性描述进行布局和渲染,但我发现它是生成树状的最简单方法输出

答案 1 :(得分:0)

不确定它是否应免费?

这是一个具有广泛API的商业解决方案 http://www-01.ibm.com/software/integration/visualization/java/