我有一个简单的图像,用于存储宽度,高度,像素格式以及其他一些我不确定的内容,然后是像素数据。
我被告知像素格式是RGBA32,其余数据只是像素数据。
计算它的公式是什么? 根据我的理解,每种RGBA颜色都需要8位,因此每个像素需要4个字节。
那么我会得出结论,像素数组的大小是宽度*高度* 4,但这还不够。
答案 0 :(得分:1)
带有RGBA32的64px乘64px BMP通常为16440字节(假设为BITMAPV3INFOHEADER)。标题为56个字节,像素数据为16384个字节(64 * 64 * 4)。 header size can vary though并且大到124字节(BITMAPV5HEADER)假设标准BMP。
我猜你有以下一个或多个来计算额外的~5376(21760 - 16384)字节:
在任何情况下,我都会首先检查最后 16384(64 * 64 * 4)字节的数据,这些数据很可能是您的图像数据所在(如果此格式完全采用BMP格式之后)并且没有一些尾随元数据或ICC配置文件或完整性检查)。另外,RGBA数据通常首先存储在字母字节中(ARGB)。
可能值得一看这个diagram of the BMP file format,只是为了熟悉常见的图像格式结构。