Frage

Ich habe angerufen gc.setAntialias(SWT.ON); und es tut nichts.Nach dieser Methode sollte es funktionieren.

Im Javadoc heißt es:

Legt das Anti-Aliasing des Empfängers fest -Wert auf den Parameter an, der eine der SWT. STANDARDWERT, SWT. OFF oder SWT.ON.

Bei mir funktioniert es nicht und ich male auf einer einfachen Leinwand.

War es hilfreich?

Lösung

Das Folgende hat bei mir in einer von mir erstellten App funktioniert und ich vermute, wann/wie Sie dies tun müssen.

Also habe ich einen neuen GC erstellt, das Antialias wie Sie eingestellt und dann mit diesem GC-Objekt gezeichnet, was ich brauchte.Der Schlüssel besteht darin, es an der Schale zu befestigen, in die Sie zeichnen möchten.

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

Stellen Sie ansonsten sicher, dass Sie dies tun, bevor Sie etwas zeichnen.Wenn Sie es später noch einmal aufrufen müssen, versuchen Sie vielleicht, den gesamten Raum neu zu streichen oder neu zu zeichnen.

Tut mir leid, ohne weitere Informationen, ich bin mir nicht sicher, was genau falsch ist.

Andere Tipps

derBiggi Antwort Folgen, ca Sie auch die erweiterte Option auf true erzwingen.

gc.setAdvanced(true)

Auch wenn Sie Etiketten sind zeichnen, stellen Sie sicher, Sie verwenden gc.setTextAntialias( SWT.ON );

Sie können auch überprüfen, ob gc.getAdvanced() true zurückgibt, sollte es nach setAntialias() oder setTextAntialias gesetzt wurde.

Neben aus, dass es ziemlich einfach.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top