如何检测RGB是否完全透明?

时间:2014-08-23 04:15:24

标签: java colors alpha

在java中,我想制作一个完全透明的RGBA,我使用

来做
public static int getTransparentRGB() {
    int r = 0;
    int g = 0;
    int b = 0;
    int a = 0;
    int new_pixel = (a << 24) | (r << 16) | (g << 8) | b;
    return new_pixel;
}

    Color color = new Color(getTransparentRGB());
    System.out.println(color.getAlpha()); // -> 255  ?!

我故意保留所有rgba值为0.但是在我用rgba值作为构造函数创建Color对象后,如果我调用.getAlpha(),即使我做了255,我也会得到0带有255 alpha的rgb值。如果它返回Color,我怎么能区分不是透明的255对象之间的区别,因为它也会有0 alpha。

我希望颜色对象根据上面的函数返回{{1}} alpha。

有谁知道最近发生了什么?

由于

1 个答案:

答案 0 :(得分:1)

您需要使用构造函数Color(int, boolean)为您的颜色提供alpha值。 constructor you are using将Alpha值更改为255。