C#Drawing.Graphics FromImage OutOfMemory传递格式为16bppgrayscale的位图时异常

C#Drawing.Graphics FromImage OutOfMemory传递格式为16bppgrayscale的位图时异常,c#,bitmap,out-of-memory,system.drawing,C#,Bitmap,Out Of Memory,System.drawing,我正在向Drawing.Graphics.FromImage传递一个pixelformat设置为Format16bppGrayScale的Drawing.Bitmap,但这会引发System.OutOfMemoryException(当pixelformat未设置时,不会引发错误) imgWidth和imgHeight分别为40和58,太低了,以至于它实际上没有内存。在这个站点的其他线程上,我看到它提到System.Drawing有时会抛出内存不足异常,而这不是错误的实际原因,所以我假设这里就是

我正在向Drawing.Graphics.FromImage传递一个pixelformat设置为Format16bppGrayScale的Drawing.Bitmap,但这会引发System.OutOfMemoryException(当pixelformat未设置时,不会引发错误)

imgWidth和imgHeight分别为40和58,太低了,以至于它实际上没有内存。在这个站点的其他线程上,我看到它提到System.Drawing有时会抛出内存不足异常,而这不是错误的实际原因,所以我假设这里就是这种情况。
感谢:“如果图像具有以下任何像素格式,此方法也会引发异常。未定义、DontCare、Format16bppRgb555、Format16bppGrayScale”(逗号和emphasis mine)@pinkfloydx33我理解16bpp灰度,因为每个颜色分量超过1字节。。。但现在我真的想知道为什么他们不支持16bpp的Rgb555。。。
            Bitmap bmp = new Bitmap(imgWidth, imgHeight,PixelFormat.Format16bppGrayScale);
        gr = Graphics.FromImage(bmp);