1

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

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

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

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

问候, Pankaj Sharma

4

2 回答 2

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 值。

于 2011-10-24T07:21:15.497 回答
0

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

于 2011-10-22T19:22:24.297 回答