0
我从SWT浏览器中提取了页面并将其导出到图像。我的问题是,当shell不可见时,我无法正确导出它。我怎样才能隐藏浏览器并让图像正确导出?如何隐藏SWT浏览器或以无头模式运行?
我已经尝试设置shell.Visible()
为false,但这样会扰乱图像导出。
这是我如何导出图像(不知道这是有必要的问题):
GC source = new GC (shell);
Image image = new Image(display, browser.getClientArea());
source.copyArea(image, 0, 0);
ImageLoader io = new ImageLoader();
io.data = new ImageData[] { image.getImageData() };
File f = new File (currentDir+"/workpng.png");
io.save (f.getAbsolutePath(), SWT.IMAGE_PNG);
嗯我明白了。所以这也需要xserver。我记得你提到过SWTBot,我可以用它来以无头模式运行SWT浏览器。你有什么建议吗? browser.getClientArea()返回一个矩形对象。这是它为我返回的结果:'Rectangle {0,0,600,400}' – KrispyDonuts
您是否知道可以在不连接监视器的情况下运行X服务器?这篇博客文章可能有所帮助:https://community.jboss.org/wiki/RunningEclipsePluginTestsWithSWTBotInHeadlessMode –