如何隐藏SWT浏览器或无头模式下运行?(How to hide SWT Browser or run

2019-10-31 19:42发布

我从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); 

Answer 1:

这可能是不可能的,因为X服务器/ Windows将(在渲染你看不到什么都没点)扔掉所有的渲染命令时,该窗口是不可见的。

同样的是在这种情况下,浏览器的客户区域?

为了使这项工作,你需要允许外壳打开是可见的(即没有被其他窗口隐藏)。 像詹金斯工具使用始于X会话插件的Xvfb或Xvnc的 。 设置环境变量后DISPLAY ,所有的UI渲染去这些会议。



文章来源: How to hide SWT Browser or run in headless mode?