Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于保存24位位图文件的24位数据类型数组_C# - Fatal编程技术网

C# 用于保存24位位图文件的24位数据类型数组

C# 用于保存24位位图文件的24位数据类型数组,c#,C#,我正在尝试手动读取位图。因此,我使用文件流读取位图文件。直到我不得不处理24位位图文件时才出现问题。是否有一种方法可以将24位位图图像实际读取到24位数组中 我在字节数组中保存一个8位位图图像,如下所示 byte[] fileBufferArray = new byte[fileLength]; 有几个选择: 如果您不太担心内存(您没有打开大量或非常大的位图),可以将其存储为32位数字。通常,第四个字节被解释为“alpha”(在背景上渲染图像时的混合说明符)。现在大多数现代图像处理库都以这

我正在尝试手动读取位图。因此,我使用文件流读取位图文件。直到我不得不处理24位位图文件时才出现问题。是否有一种方法可以将24位位图图像实际读取到24位数组中

我在字节数组中保存一个8位位图图像,如下所示

byte[] fileBufferArray = new byte[fileLength];  
有几个选择:

  • 如果您不太担心内存(您没有打开大量或非常大的位图),可以将其存储为32位数字。通常,第四个字节被解释为“alpha”(在背景上渲染图像时的混合说明符)。现在大多数现代图像处理库都以这种方式处理彩色图像

  • 您可以将颜色打包到字节数组中并单独访问它们。RGB和BGR是两种最常见的包装订单。通常,您也会在每行的末尾添加填充字节,以便字节宽度与DWORD(4字节)边界对齐

  • 您可以将图像拆分为三个单独的字节数组“平面”,它们基本上分别是红色、绿色和蓝色的8位图像。这是进行图像处理时的另一种常见格式,因为过滤步骤通常独立于通道进行操作


  • 你能说得更具体些吗。24位数组是什么意思?对于不同的位图文件,您现在有什么代码,以及它如何不适用于24位图?@klijo-24位数组是3个8位数组。我会在这个问题上做更多的研究。听起来您不了解24位位图文件的设计结构。我知道的足以让你明白你不明白的事实。