Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.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/7/image/5.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 读取bmp文件_C_Image_Bmp - Fatal编程技术网

C 读取bmp文件

C 读取bmp文件,c,image,bmp,C,Image,Bmp,我正在编写一个简单的BMP库(仅用于学习目的)。到目前为止,我只能读取24位BMP文件,这是因为我对位深度不是24时发生的事情感到困惑。我不明白的是: 1) 我知道位深度必须有一个查找表(调色板)。值得一提的是,如果你不支持压缩BMP或“奇怪”像素格式,没有人会对你生气;大多数声称支持BMP的程序除了支持1/2/8/24/32 bpp无alpha的未压缩数据(即“原始”BMP格式)外,不支持任何东西。这是关于文件格式的问题,而不是C问题,@MatteoItalia您肯定是对的,但正如我所说,我这

我正在编写一个简单的BMP库(仅用于学习目的)。到目前为止,我只能读取24位BMP文件,这是因为我对位深度不是24时发生的事情感到困惑。我不明白的是:


1) 我知道
位深度必须有一个查找表(调色板)。值得一提的是,如果你不支持压缩BMP或“奇怪”像素格式,没有人会对你生气;大多数声称支持BMP的程序除了支持1/2/8/24/32 bpp无alpha的未压缩数据(即“原始”BMP格式)外,不支持任何东西。这是关于文件格式的问题,而不是C问题,@MatteoItalia您肯定是对的,但正如我所说,我这样做只是为了学习(显然没有人会使用我的BMP库:P)。有一件事我没有得到的是32bpp,在我看到的RGBAX8808文档中,我想知道如果浪费8比特,使用32bpp有什么意义。最后,24个基点的价格也是如此。我错了吗?@RetiredInja是的,我知道,我已经读过了。值得一提的是,如果你不支持压缩BMP或“奇怪”像素格式,没有人会对你生气;大多数声称支持BMP的程序除了支持1/2/8/24/32 bpp无alpha的未压缩数据(即“原始”BMP格式)外,不支持任何东西。这是关于文件格式的问题,而不是C问题,@MatteoItalia您肯定是对的,但正如我所说,我这样做只是为了学习(显然没有人会使用我的BMP库:P)。有一件事我没有得到的是32bpp,在我看到的RGBAX8808文档中,我想知道如果浪费8比特,使用32bpp有什么意义。最后,24个基点的价格也是如此。“我错了吗?”“是的,我知道,我已经读过了。