2

私は電話gc.setAntialias(SWT.ON);しましたが、それは何もしません。その方法によれば、それはうまくいくはずです。

Javadoc には次のように記載されています。

レシーバーのアンチエイリアシング値をパラメーターに設定します。パラメーターは、SWT.DEFAULT、SWT.OFF、または SWT.ON のいずれかでなければなりません。

私にはうまくいきません。単純なキャンバスにペイントしています。

4

3 に答える 3

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);

それ以外は、何かを描く前に必ずこれを行ってください。後で呼び出す必要がある場合は、スペース全体の再描画または再描画を呼び出してみてください。

詳細情報がなくて申し訳ありませんが、何が間違っているのか正確にはわかりません。

于 2009-11-05T04:50:12.633 に答える
2

また、ラベルを描画する場合は、必ず使用してくださいgc.setTextAntialias( SWT.ON );

gc.getAdvanced()また、trueが返されるかどうか、設定された後、setAntialias()または設定されたかどうかを確認することもできますsetTextAntialias

それに加えて、それはかなり簡単です。

于 2009-11-10T14:12:21.203 に答える
2

derBiggi の回答に従って、高度なオプションを強制的に true にすることもできます。

gc.setAdvanced(true)
于 2010-01-13T10:07:35.883 に答える