水平翻转像素阵列

Flip a pixel array horizontally

我有翻转 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 是宽度 高度,它在所有这些地方都有

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位置)

的总和