在 SWT 中打开抗锯齿

and*_*nka 2 eclipse swt draw2d

我已经打电话了gc.setAntialias(SWT.ON);,它什么也没做。按照那个方法,它应该可以工作。

Javadoc 指出:

将接收器的抗锯齿值设置为参数,该参数必须是 SWT.DEFAULT、SWT.OFF 或 SWT.ON 之一。

它对我不起作用,我正在一个简单的画布上作画。

Ted*_*son 5

以下内容在我构建的应用程序中对我有用,以及我对何时/如何执行此操作的猜测。

所以我创建了一个新的 GC,像你一样设置 Antialias,然后用那个 gc 对象绘制我需要的东西。关键是将它连接到您将要绘制的外壳上。

GC gc = new GC(shell);
gc.setAntialias(SWT.ON); 
//then I attach to LightweightSystem for testing.
LightweightSystem lws = new LightweightSystem(shell);
Run Code Online (Sandbox Code Playgroud)

除此之外,请确保在绘制任何内容之前执行此操作。如果您之后必须调用它,请尝试调用整个空间的重绘或重绘。

抱歉,没有更多信息,我不确定到底出了什么问题。