【发布时间】:2012-03-11 10:38:57
【问题描述】:
我有一个简单的图像,它存储了宽度、高度、像素格式和其他一些我不确定的东西,然后是像素数据。
我被告知像素格式是 RGBA32,其余数据只是像素数据。
计算公式是什么? 据我了解,每种 RGBA 颜色需要 8 位,因此每个像素需要 4 个字节。
那么我会得出结论,像素数组的大小是宽 * 高 * 4,但这还不够。
【问题讨论】:
-
你怎么知道这还不够?为什么不发布您拥有的额外数据?
-
谁/什么为您提供了这张图片?如果这是一种特定的图像格式,我猜可能存在某种标头或校验和或元数据或 cmets。
-
我的宽度和高度为 64 * 64,总像素数据大小为 21760。当我读取 21760 字节并显示它时,它看起来很好。当我只读取 64 * 64 * 4 时,是错误的。
-
你能提供一个数据样本吗?前 10 个字节左右应该特别关键,好像是标准的图像格式,可能有一个 header。
-
我反转了二进制格式,但我从未做过图像格式,所以这个图像是由朋友提供的,作为“训练”格式,因为它应该是一种非常简单的格式。标头仅以宽度和高度的两个整数开头,以及其他 3 个仅为 -1 的整数,然后是像素数据。我想他只是很快就把东西扔在一起了。我想有一个简单的公式可以用来计算我需要读取的数据的大小。