以下是我用于添加混合方法的代码:
public int add(int a, int b) {
return min(a + b, 255);
}
public int min(int a, int b) {
return (a < b) ? a : b;
}
现在,如果我像这样遍历我的两个像素数组:
for (int i = 0; i < Game.WIDTH * Game.HEIGHT; i++) {
Game.pixels[i] = add(Game.pixels[i], lighting.pixels[i]);
}
结果应该看起来像这样(在paint.NET上重现):
相反,它看起来像这样:
我的问题是:为什么有椭圆形的人工制品,颜色混合在一起,我该如何解决这个问题呢? 另外,我也不能复制多重混合模式,可能出于同样的原因......
答案 0 :(得分:0)
实际上,直接从数组添加两个整数不是如何做到的。相反,您需要将数字拆分为单独的RGB,然后单独添加它们,然后将它们编译回一个数字。
(是的,我发现了最后的方法。万一有人有类似的问题)