簡體   English   中英

編輯2D數組實例變量大小而無需數組列表(圖像處理)

[英]Edit 2D array instance variable size without Array List (image manipulation)

我需要編輯原始實例變量private in[][] pixels; 為了達到寬度的兩倍,我已經完成了算法以鏡像圖像並制作兩倍於我不知道如何為其設置原始int[][]像素的新數組。 pixel數組必須是修改后的數組,不能使用其他名稱。

    private int[][] pixels;
    ...

    if(transformationName == "Mirror"){

        int[][] mirrorTemp = new int[height][width*2];

        for(int h = 0; h < height; h++){

            for(int w = 0; w < width; w++){

                mirrorTemp[h][w] = pixels[h][w];
                mirrorTemp[h][w + width] = pixels[h][width - h - 1];
            }
        }

        int[][] pixels = new int[height][width*2];

        for(int h = 0; h < height; h++){

            for(int w = 0; w < (width*2); w++){

                pixels[h][w] = mirrorTemp[h][w];
            }
        }
    }

首先,我相信以下是您打算做的。

    for(int h = 0; h < height; h++){
        for(int w = 0; w < width; w++){
            mirrorTemp[h][w] = pixels[h][w];
            mirrorTemp[h][w + width] = pixels[h][width - w];
        }
    }

之后,您可以簡單地

    pixels = mirrorTemp;

因為兩者都是int[][]類型。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM