有谁知道加载位图并处理所有情况的好 C 示例:rle、b/w 位图等等?
代码应该是跨平台的。
谢谢。
我建议使用像SDL image这样的库
如果您正在寻找最小的 bmp 加载器,此链接将为您提供有关 BMP 格式、数据结构和示例代码的所有信息,无需加载任何库依赖项:
http://paulbourke.net/dataformats/bmp/。
它还包含在打开的 gl 纹理中查看加载的 BMP 的代码,所以几乎所有你需要的......
Chris Backhouse 制作了一个实用的小型 BMP 加载器(着眼于将它们用作 OpenGL 纹理)。它是 C++,而不是 C,而且他承认它不是跨平台的。但是,它很小且易于理解,因此我想在此处添加链接:
您需要一些外部库来执行此操作(我推荐ImageMagick)。ImageMagick 网站还包括文档和示例。
查看英特尔开发的 OpenCV 库。
正如其他人建议的那样,您可能想要使用像 SDL 这样的外部库。如果您想学习并自己动手,请参阅我对这个非常相似的问题的回答:Getting RGB values for each pixel from a 24bpp Bitmap for conversion to GBA format in C where you'll find C code which prints out each pixel,并查看有关 bmp 文件的维基百科页面,因为它非常好。