0

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

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上转载):

在此处输入图像描述

相反,它看起来像这样:

在此处输入图像描述

我的问题是:为什么会有颜色混合的椭圆形手工艺品,我该如何解决这个问题?此外,我也无法复制多重混合模式,可能出于同样的原因......

4

1 回答 1

0

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

(是的,我最终找到了方法。以防万一有人遇到类似问题)

于 2013-11-04T17:14:13.263 回答