PNG 格式的屏幕截图有效,但 BMP 格式无效

Screen Capture in PNG Format Works, but not BMP Format

我正在使用下面的代码来捕获游戏的屏幕运行

public static Bitmap CaptureScreen()
{
    DxScreenCapture cap = new DxScreenCapture();
    var surface = cap.CaptureScreen();

    Bitmap png;
    using (DataStream stream = Surface.ToStream(surface, ImageFileFormat.Bmp))
    {
        png = new Bitmap(stream);
        png.Save(@"C:\Temp\MyFile.bmp");
    }

    return png;
}

保存为ImageFileFormat.Bmp时,保存的文件全黑。如果我将格式更改为 ImageFileFormat.Png(并将文件扩展名更改为 .png),图像保存得很好。

为什么我可以保存为PNG格式,但不能保存为BMP格式?

此代码应该有效(参见 complete enum):

png.Save(@"C:\Temp\MyFile.bmp", ImageFormat.Bmp)