0

我在保存图像时遇到了一些麻烦,它在我尝试保存图像的行上显示“参数错误”。

我不确定这是我创建图像的方式还是只是保存这就是问题所在。

public static void Fullscreen()
{
    string fileName = Helper.RandomStr(10) + ".png";

    try
    {
        var image = ScreenCapture.CaptureFullscreen();
        image.Save(fileName, ImageFormat.Png);

        System.Diagnostics.Process.Start(fileName);
    }
    catch (Exception ex)
    {
        MessageBox.Show("Unable to capture fullscreen because: " + ex.ToString() + "\r\n\r\nFile: " + fileName);
    }
}

编辑:

这是获取位图的方法

    public static Bitmap CaptureFullscreen()
    {
        using (Bitmap bmp = new Bitmap(ScreenDimensions.Width, ScreenDimensions.Height))
        {
            using (Graphics g = Graphics.FromImage(bmp))
            {
                g.CopyFromScreen(Point.Empty, Point.Empty, bmp.Size);
            }

            return bmp;
        }
    }
4

2 回答 2

1

错误参数是 GDI+ 表明存在问题的方式。遗憾的是,这些错误的描述性不是很好。

首先尝试将图像参数包装到 Bitmap 构造函数中,例如:

image = new Bitmap(image);

这会强制立即处理位图。

它更简单,在位图上删除 using。

于 2013-07-12T13:20:27.300 回答
0

尝试使用已知路径,看看是否开始工作。如果是这样,那么您可能需要一个新的随机字符串生成器来生成有效路径或以不同的方式命名文件。

于 2013-07-12T13:27:38.913 回答