2009-11-05 45 views
2

我叫gc.setAntialias(SWT.ON);,它什么都不做。根据这种方法,它应该工作。打开SWT中的反锯齿

的Javadoc状态:

设置接收器的抗锯齿 值到参数,它必须是SWT.DEFAULT,SWT.OFF或SWT.ON.的 一个

它不适合我,我正在一个简单的画布上绘画。

回答

4

以下工作为我在我建立的应用程序,我猜你什么时候/如何做到这一点。

所以我创建了一个新的GC,像你一样设置Antialias,然后画出我需要的那个gc对象。关键是将其连接到你会在绘制壳。

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

除此之外确保你这样做,你画任何东西之前。如果之后必须调用它,可以尝试调用重绘或重绘整个空间。

对不起,没有更多的信息我不确定到底什么是错的。

2

另外,如果你正在绘制的标签,请确保您使用gc.setTextAntialias(SWT.ON);

您还可以检查是否gc.getAdvanced()返回true,应该经过setAntialias()setTextAntialias设置。

除此之外,它非常简单。

2

继derBiggi的回答之后,您也可以将高级选项强制为true。

gc.setAdvanced(true)