颜色getAlpha()无法正常工作

时间:2014-08-21 22:17:21

标签: java bufferedimage

我正在制作一个加载图像的程序,之后我用不透明像素做了一些事情。透明像素显示为黑色像素,但过了一段时间后我找到了原因:

                                Color c = new Color (input.getRGB(x, y));
    Works->                      if ((input.getRGB(x, y) & 0xFF000000) != 0x00000000) {  do_smth();}
    Returns true at all times->  if (c.getAlpha() != 0) { do_smth(); }

那为什么它不起作用?

1 个答案:

答案 0 :(得分:3)

Color构造函数仅在通过new Color(rgba, true)调用时保留Alpha值。您在这里错过了true

布尔参数描述如下:

  

hasalpha - 如果alpha位有效,则为true;否则是假的