我需要将原始实例变量int[][]
编辑为宽度的两倍,我已完成算法镜像图像并使新数组的宽度增加两倍我只是不知道如何设置原始 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];
}
}
}
像素。像素数组必须是经过修改的数组,不能用其他名称。
IEnumerable<T>
答案 0 :(得分:0)
首先,我相信以下是您打算做的事情。
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[][]
类型。
希望这有帮助。