Eclipse RCP Draw2d透明度(setAlpha)使边框/轮廓不可见

时间:2011-10-22 13:53:50

标签: eclipse transparency rcp draw2d

我们正在为用户提供选项,使画布上绘制的数字透明。为此,我们使用方法setAlpha(0)。但这使得数字完全不可见。

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

我们尝试使用方法setOpaque(false)。但它不起作用。 我们正在使用Ubuntu 9.1 OS。

任何实现这一目标的建议都会非常有用。

此致 Pankaj Sharma

2 个答案:

答案 0 :(得分: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值。

答案 1 :(得分:0)

setAlpha适用于整个数字,这就是为什么它不适合你。你应该做的是在另一个内部创建两个数字并仅改变内部数字的alpha。我想不出另一种方法。 祝你好运