我在 BitMapImage (C#) 上使用 CopyPixels 方法并想要获取原始像素数据。但是,当我在调试器中检查原始缓冲区时,我看到前 8 个字节始终是(十六进制)
67174944 00300000
这是代码片段:
int stride = frm.PixelWidth * frm.Format.BitsPerPixel / 8;
stride = (stride % 4) == 0 ? stride : (stride + 4);
rawPixels = new byte[stride * frm.PixelHeight * frm.Format.BitsPerPixel / 8];
frm.CopyPixels(rawPixels, stride, 0);
我找不到任何说明此标头可能是什么的文档。有趣的是,相当于 6717 的文本是“DI”,这让我认为这与 DIB 标头有关,但我很确定我错了。谢谢。