参数异常:创建BitmapSource时“缓冲区大小不足”

时间:2016-01-06 21:49:15

标签: c#

我最近在以前正在使用的代码中首次看到此错误,并且不遵循原因。

抛出异常

BitmapSource.Create(width, height, 96, 96, PixelFormats.Bgr24, null, data, stride);

此处width为1194,height为824,stride使用this SO answer中的等式((width * 24 + 23) & ~23) / 8,结果为3584(这使得感)。 data的大小为2 951 568,看似正确(1194 * 824 * 3)。这些值都来自调试器。

我无法重现这一点,因此无法确定导致它的确切情况,但是没有看到异常如何从提供的参数中理解。

可能是因为我误解了应该采取的步幅(在过去,也许分辨率总是比特宽度的倍数)? data数组没有填充。

0 个答案:

没有答案