水平翻转像素阵列

时间:2016-03-23 22:07:05

标签: java image pixels flip

我有代码翻转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是宽度高度,所以它会进入所有这些地方

1 个答案:

答案 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位置)之和