Swt GC#无头模式下的复印区
我创建了一个控件来显示图像,为了测试它,我创建了该控件的“屏幕截图”,并将其与我期望的结果进行比较。SReenshot的创建方式如下:Swt GC#无头模式下的复印区,swt,Swt,我创建了一个控件来显示图像,为了测试它,我创建了该控件的“屏幕截图”,并将其与我期望的结果进行比较。SReenshot的创建方式如下: protected Image createScreenshot(Control control) { final GC gc = new GC(control); try { final Point size = control.getSize(); final Image result = new Image(
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();
它们不起作用
有没有办法在无头模式下渲染控件?我怀疑控件没有绘制在屏幕上,这就是为什么会看到空白图像 我认为你的问题与此类似: 要解决此问题,您应遵循以下链接: 祝你好运