0

我想在 C# 中创建一个 DataMatrix 解码器。我为此使用了 ZXing.NET 库。我已经用 ZXing 编写了一个 QR 解码器,但是对于 DataMatrix 解码器,我需要镜像图片才能成功解码。

所以我在图像(128x128)中有它的数据存储在一个字节一维数组中。数组中的字节表示每个像素的颜色,因此 byte[0] 将是像素的颜色 (0/0)。

现在我想镜像图片并将镜像图片保存在另一个字节数组中

有人可以告诉我该怎么做吗?

4

1 回答 1

1

我猜你正在寻找这样的东西:

垂直镜像:

byte[] MirrorY(int size, byte[] inputArray)
{
    byte[] reversedArray = new byte[inputArray.Length];

    for (int i = 0; i < inputArray.Length/size; i++){ 
        System.Array.Copy(inputArray, reversedArray.Length - (i+ 1) * size, reversedArray, i* size, size);
    }

    return reversedArray;
}

水平镜像:

byte[] MirrorX(int size, byte[] inputArray)
{
    byte[] reversedArray = new byte[inputArray.Length];

    for (int i = 0; i < inputArray.Length/size; i++){ 
        for (int j = 0; j < size; j++){ 
            reversedArray [i * size + j] = inputArray [(i + 1) * size - j - 1];
        }
    }

    return reversedArray;
}
于 2019-04-10T21:21:29.607 回答