我们为用户提供了使画布上绘制的图形透明的选项。为此,我们使用方法 setAlpha(0)。但这使人形完全不可见。
我们的要求是,如果用户希望有边框,则应在透明图形上显示轮廓/边框。
我们尝试使用方法 setOpaque(false)。但它不起作用。我们使用的是 Ubuntu 9.1 操作系统。
任何实现这一目标的建议都会非常有帮助。
问候, Pankaj Sharma
我们为用户提供了使画布上绘制的图形透明的选项。为此,我们使用方法 setAlpha(0)。但这使人形完全不可见。
我们的要求是,如果用户希望有边框,则应在透明图形上显示轮廓/边框。
我们尝试使用方法 setOpaque(false)。但它不起作用。我们使用的是 Ubuntu 9.1 操作系统。
任何实现这一目标的建议都会非常有帮助。
问候, Pankaj Sharma
您可以像这样扩展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 值。
setAlpha
应用于整个人物,这就是为什么它不适合你。您可能应该做的是在另一个内部创建两个图形,并仅更改内部图形的 alpha。我想不出另一种方法来做到这一点。祝你好运