【问题标题】:Eclipse RCP Draw2d Transparency (setAlpha) makes borders / outline invisibleEclipse RCP Draw2d Transparency (setAlpha) 使边框/轮廓不可见
【发布时间】:2011-12-13 04:28:45
【问题描述】:

我们为用户提供了使画布上绘制的图形透明的选项。为此,我们使用方法 setAlpha(0)。但这会使人形完全不可见。

如果用户希望有边框,我们的要求是轮廓/边框应该显示在透明图形上。

我们尝试使用方法 setOpaque(false)。但它不起作用。 我们使用的是 Ubuntu 9.1 操作系统。

任何实现这一点的建议都会非常有帮助。

问候, 潘卡伊·夏尔马

【问题讨论】:

    标签: eclipse transparency rcp draw2d


    【解决方案1】:

    您可以像这样扩展您正在使用的Shape

    public class TranslucentRoundedRectangle extends RoundedRectangle
    {
      @Override
      protected void fillShape(Graphics graphics)
      {
        int oldAlpha = graphics.getAlpha();
    
        graphics.setAlpha(128);
        super.fillShape(graphics);
        graphics.setAlpha(oldAlpha);
      }
    }
    

    这样您就可以独立于轮廓设置填充的 alpha 值。

    【讨论】:

      【解决方案2】:

      setAlpha 应用于整个图形,这就是为什么它不适合你。您可能应该做的是在另一个内部创建两个图形,并仅更改内部图形的 alpha。我想不出另一种方法来做到这一点。 祝你好运

      【讨论】:

        猜你喜欢
        • 2020-02-13
        • 1970-01-01
        • 2020-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-28
        • 1970-01-01
        • 2019-06-06
        相关资源
        最近更新 更多