【问题标题】:Turning on anti-aliasing in SWT在 SWT 中打开抗锯齿
【发布时间】:2010-12-13 07:08:10
【问题描述】:

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

Javadoc 声明:

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

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

【问题讨论】:

    标签: eclipse swt draw2d


    【解决方案1】:

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

    所以我创建了一个新的 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】:

      根据 derBiggi 的回答,您还可以强制将高级选项设置为 true。

      gc.setAdvanced(true)
      

      【讨论】:

        【解决方案3】:

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

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

        除此之外,它非常简单。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-12-10
          • 2014-02-18
          • 1970-01-01
          • 2016-06-28
          • 2011-07-05
          • 2014-03-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多