保存PictureBox图像时“GDI +中发生一般错误”

时间:2016-01-19 14:09:52

标签: c# gdi+

我开发了一个在Windows 8.1下正常运行的WinForms应用程序,但是当我尝试在Windows 7(32位)上运行它时,它会抛出一个错误:

A generic error occurred in GDI+

错误源自对以下Save的调用:

PictureBox p1 = (PictureBox)tableLayoutPanel1.Controls[i];
p1.Image.Save(
    @path
        + @"\" 
        + DateTime.Now.ToString("dd/MM/yyyy-hh.mm.ss")
        + i
        + ".jpeg", 
    System.Drawing.Imaging.ImageFormat.Jpeg);

有关错误原因的任何想法?

2 个答案:

答案 0 :(得分:1)

看来文件名中的正斜杠是问题所在。我用句点替换它们并且能够保存文件。 (请注意,在任何情况下,您都需要在" C:\ car rental \"目录中获得适当的权限。)

根据this article,正斜杠是文件名中不允许的保留字符。摘录:

The following reserved characters:

< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)

答案 1 :(得分:1)

由于在C驱动器上写入图像,此问题引发了争议。事实上这是一个许可问题。

请注意:

  1. 您无法直接在C Drive上书写。
  2. 您必须创建一个文件夹并取消选中只读检查。
  3. 申请并保存。 如果还有问题,请告诉我。