Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.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代码_C_Image Processing_Bitmap_Bmp - Fatal编程技术网

用于加载位图的C代码

用于加载位图的C代码,c,image-processing,bitmap,bmp,C,Image Processing,Bitmap,Bmp,有谁知道一个很好的C示例可以加载位图并处理所有情况:rle、b/w位图等等 代码应该是跨平台的 谢谢。我建议使用类似的库我建议使用类似的库如果您使用的是BMP文件格式,那么自己查看标题并获取像素就非常简单了。其中一个更有趣的匹配是。最违反直觉的部分是每行像素都是4字节对齐的。另外,注意压缩BMP。。。(根据我的经验,许多第三方工具在使用压缩BMP时遇到问题,因此可能您遇到的一些库也会遇到问题。) 如果您不喜欢BMP文件格式,我建议使用libpng。提供了一些非常清晰的示例代码。如果您使用的是BM

有谁知道一个很好的C示例可以加载位图并处理所有情况:rle、b/w位图等等

代码应该是跨平台的


谢谢。

我建议使用类似的库

我建议使用类似的库

如果您使用的是BMP文件格式,那么自己查看标题并获取像素就非常简单了。其中一个更有趣的匹配是。最违反直觉的部分是每行像素都是4字节对齐的。另外,注意压缩BMP。。。(根据我的经验,许多第三方工具在使用压缩BMP时遇到问题,因此可能您遇到的一些库也会遇到问题。)


如果您不喜欢BMP文件格式,我建议使用libpng。提供了一些非常清晰的示例代码。

如果您使用的是BMP文件格式,那么自己查看标题并获取像素就非常简单了。其中一个更有趣的匹配是。最违反直觉的部分是每行像素都是4字节对齐的。另外,注意压缩BMP。。。(根据我的经验,许多第三方工具在使用压缩BMP时遇到问题,因此可能您遇到的一些库也会遇到问题。)


如果您不喜欢BMP文件格式,我建议使用libpng。提供了一些非常清晰的示例代码。

Chris Backhouse制作了一个功能性的小型BMP加载程序(旨在将其用作OpenGL纹理)。它是C++,不是C,他承认它不是跨平台的。但是,它很小,也很容易理解,所以我想在这里添加链接:


克里斯·巴克豪斯制作了一个功能强大的小型BMP加载程序(旨在将其用作OpenGL纹理)。它是C++,不是C,他承认它不是跨平台的。但是,它很小,也很容易理解,所以我想在这里添加链接:


您需要一些外部库来执行此操作(我推荐)。ImageMagick网站还包括文档和示例。

您需要一些外部库来完成此操作(我建议)。ImageMagick网站还包括文档和示例。

查看英特尔开发的OpenCV库。

查看英特尔开发的OpenCV库。

正如其他人建议的那样,您可能希望使用SDL等外部库。如果你想学习一些东西并自己动手做,请看我对这个非常类似的问题的回答:在那里你可以找到打印出每个像素的C代码,并查看关于bmp文件的wikipedia页面,因为它非常好

正如其他人所建议的那样,您可能希望使用像SDL这样的外部库。如果你想学习一些东西并自己动手做,请看我对这个非常类似的问题的回答:在那里你可以找到打印出每个像素的C代码,并查看关于bmp文件的wikipedia页面,因为它非常好

如果您正在寻找最小的bmp加载程序,此链接将为您提供有关bmp格式、数据结构和示例代码的所有信息,而无需加载任何库依赖项:


它还包含在OpenGL纹理中查看加载的BMP的代码,因此您需要的几乎都是…

如果您正在寻找最小的BMP加载程序,此链接将为您提供有关BMP格式、数据结构和示例代码所需的所有信息,而无需加载任何库依赖项:


它还包含在OpenGL纹理中查看加载的BMP的代码,所以您需要的几乎都是…

我已经完成了基本的谷歌搜索。谢谢你的回复。好的。如果PNG是您的选择,我仍然鼓励您查看libpng手册中的示例代码。我已经完成了基本的谷歌搜索。谢谢你的回复。好的。如果PNG是您的选择,我仍然鼓励您查看libpng手册中的示例代码。我也绝对推荐opencv。我将它用于一个多点触摸项目,它真的很酷:-)使用opencv就像使用卡车将玻璃移动到桌子的另一端。opencv是一个计算机视觉库,它可以边读边写图像。我也绝对推荐opencv。我将它用于一个多点触摸项目,它真的很酷:-)使用opencv就像使用卡车将玻璃移动到桌子的另一端。Open CV是一个计算机视觉库,它可以边读边写图像。我同意,但如果资源使用不是你应用程序的问题,它比你自己的应用程序更容易。我同意,但如果资源使用不是你应用程序的问题,它比你自己的应用程序更容易。