Зеркальное отображение изображения по вертикали из массива байтов - PullRequest
0 голосов
/ 10 апреля 2019

Я хочу создать декодер DataMatrix в C #.Я использую библиотеку ZXing.NET для этого.Я уже закодировал QR-декодер с ZXing, но каким-то образом для декодера DataMatrix мне нужно отразить изображение, чтобы оно было успешно декодировано.

Итак, у меня есть изображение (128x128), его данные хранятся в байтовом массиве 1d,Байты в массиве представляют цвет каждого пикселя, поэтому байт [0] будет цветом пикселя (0/0).

Теперь я хочу отразить изображение и сохранить его вдругой байтовый массив

Может кто-нибудь сказать мне, как это сделать?

1 Ответ

0 голосов
/ 11 апреля 2019

Я думаю, вы ищете что-то вроде этого:

Зеркало по вертикали:

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...