小编典典

使用for循环设置红色2d数组值

java

我正在尝试创建一种方法,该方法将获取图像中的所有红色值并仅显示红色值。我在使用getRedImage()方法时遇到麻烦。我对此并不陌生,任何帮助将不胜感激!

public class SimpleRGB
{
    private int width, height;
    private int[][] red = new int[1000][1000];

这部分获取红色值并将其设置为我的2D红色数组的指定位置:

    public void setRed(int x, int y, int aRed)
    {
        red[x][y] = aRed;
    }

这部分在坐标(x,y)处获取红色值并返回:

    public int getRed(int x, int y)
    {
        int thisr = red[x][y];
        return thisr;
    }

我不确定该如何措辞。我知道我需要创建一个新的SimpleRGB对象以返回,然后使用嵌套的for循环将我的新简单RGB对象的红色2D数组设置为该simpleRGB对象的红色2D数组,然后使用嵌套的for循环将绿色和蓝色2D数组值都设置为全零。我只是不确定如何执行此操作。

    public SimpleRGB getRedImage()
    {
        // This is where I am confused.
    }
}

阅读 210

收藏
2020-11-30

共1个答案

小编典典

我终于想通了:

public SimpleRGB getRedImage()
{
    SimpleRGB redImage = new SimpleRGB(width, height);

    for (int i = 0; i < width; i++)
    {
        for (int j = 0; j < height; j++)
        {
            redImage.setRed(i, j, getRed(i, j));
            redImage.setGreen(i, j, getGreen(i, j, 0);
            redImage.setBlue(i, j, getBlue(i, j, 0));
        }
    }

return redImage;
}

我的基本结构正确,但是我更改了此红色/绿色/蓝色,而不是添加redImage.setRed来修改NEW对象。

2020-11-30