【问题标题】:Eclipse Zest- Collapsed graph node of graphViewer when exporting as imageEclipse Zest - 导出为图像时 graphViewer 的折叠图形节点
【发布时间】:2014-11-07 15:15:06
【问题描述】:

我有一个非常大的 zest(1.5.0) graphViewer,因为结果滚动条出现在复合材料中。 现在,当我尝试将此图形导出为 png 时,我只得到图形的可见部分。图像中不提供超出滚动条的区域。

Image image = new Image(PlatformUI.getWorkbench().getDisplay(),composite.getBounds().width,composite.getBounds().height); ImageLoader 加载器 = new ImageLoader();

            GC gc = new GC(image);
            composite.print(gc);

            gc.dispose();

            loader.data = new ImageData[]{image.getImageData()};
            loader.save("c:/raja/graph.png", SWT.IMAGE_PNG);

如果我使用 graphViewer 对象,它会使节点折叠在左上角

GC gc = new GC(viewer.getGraphControl());
Rectangle bounds = viewer.getGraphControl().getBounds();
Image image = new Image(viewer.getGraphControl().getDisplay(), bounds);

**<Rest same as above code>**

我需要获得一张包含完整图表的图像。有没有办法实现这一点。 我认为动画可能会导致第二种方法中的节点聚集。有没有办法将其关闭(我尝试将 nodeStyle 设置为 ZestStyle.No_Animation_Layout 但它没有帮助)。

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp zest


    【解决方案1】:

    在图像中打印/绘图与在显示器上打印/绘图没有什么不同。您需要实际绘制所有内容,应该显示什么。我们对打印Ghantt Chart 有类似的要求。您可以下载源代码并查看那里如何支持打印。

    想法是你需要控制可绘制区域并在那里一个一个地绘制所有对象,然后开始绘制下一页。我想说这不是最简单的任务,因为它通常需要大量计算来支持不同的打印设置。

    在您的情况下,我不知道您是否可以控制源代码以支持此类功能,因此可能可以通过使用@987654324 以编程方式滚动图形并同时绘制它来模拟它@。但是,这可能会带来糟糕的用户体验。

    还有一些框架,例如PaperClips,可以让您的打印更轻松一些。还有一些 Swing 库,可以集成到您的 Eclipse RCP 中。另外,请参阅this SO question了解更多详情。

    希望这能给你一些想法。

    【讨论】:

    • 我的要求只是将合成的内容主要是图形在屏幕上的呈现方式导出为pdf。我目前无法打印。
    • @Raja,无论你在哪里导出你的内容,反正你需要画那些东西。为了导出为 PDF,我曾经在可绘制区域之外创建图像,然后使用这些图像创建 pdf 文档。但实施当然可以有所不同。
    • 查看GanttComposite.drawChartOntoGC
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多