【问题标题】:I can't save a photo taken from pictureBox1 in the folder I specified我无法在我指定的文件夹中保存从 pictureBox1 拍摄的照片
【发布时间】:2020-09-22 10:50:52
【问题描述】:
 var fd = new SaveFileDialog();
        fd.Filter = "Bmp(*.BMP;)|*.BMP;| Jpg(*Jpg)|*.jpg";
      
        if (fd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            switch (Path.GetExtension(fd.FileName))
            {
                case ".BMP":
                    pictureBox1.Image.Save(fd.FileName, ImageFormat.Bmp);
                    break;
                case ".Jpg":
                    pictureBox1.Image.Save(fd.FileName, ImageFormat.Jpeg);
                    break;
                default:
                    break;
            }
        }

该函数应该将带有pictureBox的图片保存在一个文件中,但会出现保存窗口。我保存了,但文件根本没有出现在我保存的文件夹中

【问题讨论】:

  • 您是否看到引发任何异常?您对文件夹有写入权限吗?文件是否保存在任何地方,而不是您预期的地方?
  • 如果我选择 Bmp This write-access.System.NullReferenceException: "The object reference does not point to an object instance."由于某种原因,它没有保存在任何地方。
  • 你最好的朋友,debugger,应该帮忙!

标签: c# winforms picturebox


【解决方案1】:

我能看到的唯一明显的事情是 switch 语句可能会失败。

检查扩展名和检查小写扩展名时添加.ToLower()

...
...
    switch (Path.GetExtension(fd.FileName).ToLower())
    {
        case ".bmp":
            pictureBox1.Image.Save(fd.FileName, ImageFormat.Bmp);
           break;
        case ".jpg":
            pictureBox1.Image.Save(fd.FileName, ImageFormat.Jpeg);
            break;
        default:
            break;
    }
...
...

【讨论】:

  • System.NullReferenceException:“对象引用未指向对象实例。”出现了这个错误。
  • 你的图片框显示图片吗?如果图片框中没有图像,则会抛出该异常。
  • 确实如此。问题是虽然我在 PicturBox 中作画,但我并没有在其中插入原始图像。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-11
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多