添加混合模式奇怪的工件

时间:2013-11-03 15:36:08

标签: java color-blending

以下是我用于添加混合方法的代码:

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上重现):

enter image description here

相反,它看起来像这样:

enter image description here

我的问题是:为什么有椭圆形的人工制品,颜色混合在一起,我该如何解决这个问题呢? 另外,我也不能复制多重混合模式,可能出于同样的原因......

1 个答案:

答案 0 :(得分:0)

实际上,直接从数组添加两个整数不是如何做到的。相反,您需要将数字拆分为单独的RGB,然后单独添加它们,然后将它们编译回一个数字。

(是的,我发现了最后的方法。万一有人有类似的问题)