Java Graphics2D透明背景

Laj*_*pad 17 java transparency background graphics2d

我有一个Graphics2D对象,我想设置对象的背景.它有一个setBackground方法,它有一个Color参数.这样我就可以设置背景的颜色.

我的问题是:如何设置对象背景的透明度?我可以以某种方式告诉它完全透明吗?我可以以某种方式告诉它完全不透明吗?我可以告诉它有0.8透明度/不透明度吗?我该如何设置这些值?

我已经看到有INT预定义值叫TRANSLUCENTOPAQUE,但我不知道我该如何使用它们.

也许正确的用法是使用int参数调用Color的构造函数?

Ext*_*ers 21

您可以通过指定透明度来构造Color对象.例如,以下代码构造具有50%透明度的RED颜色

Color c=new Color(1f,0f,0f,.5f );
Run Code Online (Sandbox Code Playgroud)

  • 我没有看到任何好的解决方案将Graphics2D对象的背景设置为一种颜色(它有一个方法来做到这一点,但该方法没有任何效果),所以我绘制了一个具有给定颜色的矩形填充画布. (4认同)

Rap*_*Cpp 5

您可以通过以下方式调用Color的构造函数:

Color c = new Color(r,g,b,a);
Run Code Online (Sandbox Code Playgroud)

其中a是alpha(透明度)值。

与所有Java类一样,您可以在官方API中找到此信息:http : //docs.oracle.com/javase/7/docs/api/java/awt/Color.html

这是一个非常好的资源,可以让您在这里等待答案。