像素值0不是黑色?

时间:2014-06-30 10:45:42

标签: java pixel

我正在为3D游戏编写渲染系统,我通过int数组渲染像素,恰当地称为pixels

render()课程的Screen方法中,我首先执行此操作,以清除所有先前的像素:

for(int i = 0; i < width * height; i++) {
    pixels[i] = 0;
}

这应该使所有像素变黑,但它似乎并没有真正做任何事情,所有以前的像素仍然存在。我尝试做-1,这使它变白,删除所有以前的像素。我真的不知道发生了什么。

如何将像素设置为黑色?如果你需要更多类的代码,请告诉我。 谢谢!

1 个答案:

答案 0 :(得分:4)

根据要求,我发布此答案。例如,如果您的像素格式为RGBA(每个通道需要8位),则值0为完全透明的黑色,而-1为完全可见的白色。

完全可见黑色使用255(或0xFF)。

如果您的格式为ARGB,则需要255 << 24(或0xFF000000)才能正确设置颜色通道位。