我有代码翻转32 x 32像素阵列,但我不知道如何水平翻转它。
以下是垂直翻转的代码。
for (int i = 0; i < pixels.length; i++) {
newPixels[(i / 32) * 32
+ (i % 32)] = pixels[(32 - (i / 32) - 1) * Grid.SIZE + (i % 32)];
}
因为32是宽度和高度,所以它会进入所有这些地方
答案 0 :(得分:1)
int imageWidth = 32;
for (int i = 0; i < pixels.length; i++) {
newPixels[i] = pixels[i - 2 * (i % imageWidth) + imageWidth - 1];
}
使用的索引是(i / imageWidth) * imageWidth
= i - (i % imageWidth)
(线的偏移量)和imageWidth - (i % imageWidth) - 1
(在中心镜像的x位置)之和