我正在制作一个加载图像的程序,之后我用不透明像素做了一些事情。透明像素显示为黑色像素,但过了一段时间后我找到了原因:
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(); }
那为什么它不起作用?
答案 0 :(得分:3)
Color
构造函数仅在通过new Color(rgba, true)
调用时保留Alpha值。您在这里错过了true
。
布尔参数描述如下:
hasalpha - 如果alpha位有效,则为true;否则是假的