1

我有这段代码在过去的 4 年里一直在工作(开普勒到氧气),

由于 Windows 10 1809 更新,这会导致全黑画面。这发生在多台 PC 上。

public static Image renderToImage(Control control) {
    Shell imgShell = new Shell(control.getDisplay(), SWT.NO_TRIM);
    Composite oldParent = control.getParent();
    Point size = control.getSize();
    imgShell.setSize(size);
    control.setParent(imgShell);
    Image image = new Image(control.getShell().getDisplay(), size.x, size.y);
    GC gc = new GC(image);

    //gc.setForeground(imgShell.getDisplay().getSystemColor(SWT.COLOR_RED));
    //gc.drawString("Image",size.x/2, size.y/2, true);
    control.print(gc);
    gc.dispose();
    control.setParent(oldParent);

    return image;
  }

我将我的应用程序从氧气更新到 eclipse-rcp-1903 并且这个问题仍然存在。

gc.drawString 行工作并将“图像”字样写入图像。

以下屏幕截图显示了该问题。黑色区域应该是从一个看起来像它下面的外壳复制的图像。 在此处输入图像描述

4

0 回答 0