且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在字节数组中垂直翻转位图的算法

更新时间:2022-06-17 05:49:23

你需要做这样的事情:

BitArray bits = new BitArray(returnBytes);
BitArray flippedBits = new BitArray(bits);

for (int i = 0; i < bits.Length; i += width) {
    for (int j = 0, k = width - 1; j < width; ++j, --k) {
        flippedBits[i + j] = bits[i + k];
    }
}

如果您需要倒置镜像,请使用以下代码:

If you need to mirror picture upside-down, use this code:

BitArray bits = new BitArray(returnBytes);
BitArray flippedBits = new BitArray(bits);

for (int i = 0, j = bits.Length - width; i < bits.Length; i += width, j -= width) {
    for (int k = 0; k < width; ++k) {
        flippedBits[i + k] = bits[j + k];
    }
}