Zest:将图表导出为图像/ pdf

时间:2012-03-15 11:07:27

标签: java eclipse swt

我使用zest框架创建了一个网络视图,它使用SWT显示/ shell来显示UI。我想将UI导出为image / pdf。 怎么做?有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用SWT GC.copyArea()方法将Control的内容复制到Image,然后将Image保存到文件。例如,如果您有一个Zest GraphViewer, viewer ,则以下代码会将其内容复制到名为 out.png 的PNG文件中。

GC gc = new GC(viewer.getControl());
Rectangle bounds = viewer.getControl().getBounds();
Image image = new Image(viewer.getControl().getDisplay(), bounds);
try {
    gc.copyArea(image, 0, 0);
    ImageLoader imageLoader = new ImageLoader();
    imageLoader.data = new ImageData[] { image.getImageData() };
    imageLoader.save("c:\\out.png", SWT.IMAGE_PNG);
} finally {
    image.dispose();
    gc.dispose();
}