我正在尝试手动读取位图。所以我使用文件流读取位图文件。在我不得不处理24位位图文件之前没有问题。有没有一种方法可以将24位图图像实际读入24位数组?
我在像这样的字节数组中保存一个8位的位图图像
byte[] fileBufferArray = new byte[fileLength];
答案 0 :(得分:0)
一些选择:
如果您不太担心内存(您没有打开大量或非常大的位图),则可以将其存储为32位数字。通常,第四个字节被解释为“alpha”(在背景上渲染图像时的混合说明符。)大多数现代图像处理库现在以这种方式处理彩色图像。
您可以将颜色打包到字节数组中并单独访问它们。 RGB和BGR是两种最常见的包装订单。通常,您最终也会在每行的末尾添加填充字节,以便以字节为单位的宽度与DWORD(4字节)边界对齐。
您可以将图像分成三个独立的字节数组“平面”,基本上分别是红色,绿色和蓝色的8位图像。这是进行图像处理时的另一种常见格式,因为您的过滤步骤通常会独立地对通道进行操作。