我已经创建了一个控件来显示图像,并测试它我创建了控件的“屏幕截图”,并将它们与我期望它们进行比较。 Sreenshots是这样创建的:
protected Image createScreenshot(Control control) {
final GC gc = new GC(control);
try {
final Point size = control.getSize();
final Image result = new Image(control.getDisplay(), size.x, size.y);
gc.copyArea(result, 0, 0);
return result;
} finally {
gc.dispose();
}
}
从IDE启动时它可以很好地工作,但是当从CI服务器以无头模式启动时,图像不会呈现。我尝试拍摄周围的Shell
照片,但Shell
的截图也是白色图像。
我尝试了以下方法来尝试使屏幕截图工作:
Control#redraw();
Control#update();
他们没有工作。
有没有办法在无头模式下渲染控件?
我怀疑控件没有画在屏幕上,这就是你看到空白图像的原因。
我认为你的问题类似于:https://www.eclipse.org/forums/index.php/t/162790/
为了解决这个问题,你应该点击这个链接:https://wiki.eclipse.org/SWTBot/CI_Server
祝好运