从字节数组垂直镜像
Mirroring in image vertical from a byte array
我想用 C# 创建一个 DataMatrix 解码器。为此,我正在使用 ZXing.NET 库。我已经用 ZXing 编码了一个 QR 解码器,但不知何故,对于 DataMatrix 解码器,我需要镜像图片才能成功解码。
所以我在图像 (128x128) 中将其数据存储在一个字节 1d 数组中。数组中的字节代表每个像素的颜色,因此 byte[0] 将是像素的颜色 (0/0)。
现在想镜像图片,把镜像的图片保存在另一个字节数组中
谁能告诉我怎么做?
我猜你正在寻找这样的东西:
垂直镜像:
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;
}
我想用 C# 创建一个 DataMatrix 解码器。为此,我正在使用 ZXing.NET 库。我已经用 ZXing 编码了一个 QR 解码器,但不知何故,对于 DataMatrix 解码器,我需要镜像图片才能成功解码。
所以我在图像 (128x128) 中将其数据存储在一个字节 1d 数组中。数组中的字节代表每个像素的颜色,因此 byte[0] 将是像素的颜色 (0/0)。
现在想镜像图片,把镜像的图片保存在另一个字节数组中
谁能告诉我怎么做?
我猜你正在寻找这样的东西:
垂直镜像:
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;
}