【问题标题】:Bitmap save invalid parameters位图保存无效参数
【发布时间】:2018-06-03 11:03:24
【问题描述】:

我正在尝试创建一个截图工具,只是为了学习更多 C#。

如果我想保存屏幕截图,我会收到错误“无效参数”。我做错了什么?这是我的方法。

private void TakeSnapshot()
{
    string myDir = "C:\\Screenshots";

    try
    {
        Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
        Graphics graphics = Graphics.FromImage(printscreen as Image);
        graphics.CopyFromScreen(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, 0, 0, printscreen.Size);
        printscreen.Dispose();
        printscreen.Save(myDir + "Screenshot.png", ImageFormat.Png);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

【问题讨论】:

  • 异常发生在哪一行,文档中关于需要哪些参数的说明是什么?你也应该在Save之后Dispose
  • 现在会保存截图,但新的问题是,整个截图只是黑色/空白。
  • 看起来您的文件路径中缺少“\”。养成的一个好习惯是使用Path.Combine() 创建文件系统路径,因为它会为您添加这些内容。
  • 好的,我完成了,非常感谢。 :)

标签: c# bitmap save screenshot


【解决方案1】:

有四个问题:

【讨论】:

  • 使用双换行符分隔段落。 SO 文本解析器会忽略单个换行符。如果您想将项目显示为列表,请参阅格式化帮助或使用 UI 按钮。
  • 哦,在这种情况下......他应该在位图周围使用using 块。这将表明它只能在该块内使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多