从文件中提取位图

2 投票
2 回答
2071 浏览
提问于 2025-04-15 11:35

假设你有一个复杂的文件,里面包含了一些不太清楚的内容,其中有一个未压缩的位图文件(.BMP)。那么,如何用Python把这个位图文件提取出来呢?
你可以先在这个文件里查找“BM”这个标记,然后看看后面的字节是否看起来像一个BMP文件的头部?

2 个回答

4

是的,你能做的基本上就是在文件里搜索'BM'这个标记,然后把后面的数据提取出来,放到一个叫BITMAPFILEHEADER的结构里,还有对应的BITMAPINFO。接着,你需要检查这些值是否合理,比如说图片的尺寸是否正常,颜色深度是否合适等等。

一旦你找到看起来合理的数据,就把这些数据提取出来,然后传给另一个答案中提到的库。

4

我会使用Python图像库(PIL)来处理这些数据。如果它能成功解析这些数据,那就说明这是一张有效的图片。如果出现错误,那就说明不是。

你需要找到图片的开始部分;如果运气好的话,图片读取器会忽略图片数据后面的杂乱信息。如果没有,那就需要用二分查找的方法来找到图片的结束部分。

撰写回答