假设这张图片(图 1)中的每个像素都是数组中的一个元素。我如何将它逆时针旋转 90 度(图 2)并垂直反转(图 3)?
图1:
图2:
图 3:
我目前的代码是:
private static Color[][] invert(Color[][] chunk){ //same as rotate
Color[] temp;
for(int i=0;i<chunk.length/2;i++){ //reverse the data
temp=chunk[i];
chunk[i]=chunk[chunk.length-i-1];
chunk[chunk.length-i-1]=temp;
}
return chunk;
}
private static Color[][] rotate(Color[][] chunk){
int cx = chunk.length;
int cz = chunk[0].length;
Color[][] rotated = new Color[cz][cx];
for(int x=0;x<cx;++x){
for(int z=0;z<cz;++z){
rotated[z][x]=chunk[cz-z-1][x];
}
}
return rotated;
}
反转的功能与旋转相同。有什么帮助吗?