c++ - 如何使用字节数组存储位图

标签 c++ image arrays

我的 friend 被问到给定一张单色图像,在采访期间他被要求沿其中心 y 轴镜像图像之前,它是如何保存在字节数组中的。函数签名如下:

void mirrorImage(byte image[], int width, int height){


}

所以你可以看到图像的宽度和高度已经在签名中给出了。我想我可以通过逐行读取图像来操纵图像,保留一个计数器,只要我的计数器等于宽度,我就知道是时候读取下一行了。这是用字节数组存储图像的方式吗?我对图像处理或字节数组没有任何经验。谢谢!

编辑: 字节中的每一位代表一个像素。

最佳答案

因为它是单色的,所以我假设字节中的每一位代表一个像素。

您的方法很合理。只需确保反转每个字节中的位,以及反转行中的字节。

此外,如果宽度不是 8 的倍数,则必须将所有字节向左移动余数 (width mod 8),并将溢出位从左移到就在这一行的对面。

关于c++ - 如何使用字节数组存储位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32954865/

相关文章:

image - 有没有办法在喜欢按钮上使用共享首选项

ANDROID:图像快捷方式导致图库重建相册

c++ - 大小如何与 memcpy 一起使用?

c++ - Thrift: "->"运算符给我一个段错误

c++ - 在 Windows 的 Eclipse C++ 中运行 Hello World 应用程序

Java获取图像,检查mime类型,转换为png并返回该图像

javascript - 对象数组到按属性分组的对象数组

javascript - 在 JavaScript 中创建二维数组并推送值

c++ - QObject::connect: 需要括号,信号 QSerialPort::readyRead in ..\voltage_sensor\dialop.cpp:41

c++ - 通过 QDataStream 从客户端发送到服务器的字节不匹配