"A generic error occurred in GDI+" 保存 PictureBox 图像时
"A generic error occurred in GDI+" when saving a PictureBox Image
我开发了一个 WinForms 应用程序,它在 Windows 8.1 下可以正常工作,但是当我尝试在 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);
对错误的原因有什么想法吗?
文件名中的正斜杠似乎是问题所在。我用句点替换了它们并能够保存文件。 (请注意,在任何情况下,您都需要对 "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)
此问题是由于在 C 驱动器上写入图像而引起的。这实际上是一个权限问题。
请注意:
- 您不能直接在 C 盘上写入。
- 您必须创建一个文件夹并取消选中只读复选框。
应用并保存。
如果还有问题,请告诉我。
我开发了一个 WinForms 应用程序,它在 Windows 8.1 下可以正常工作,但是当我尝试在 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);
对错误的原因有什么想法吗?
文件名中的正斜杠似乎是问题所在。我用句点替换了它们并能够保存文件。 (请注意,在任何情况下,您都需要对 "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)
此问题是由于在 C 驱动器上写入图像而引起的。这实际上是一个权限问题。
请注意:
- 您不能直接在 C 盘上写入。
- 您必须创建一个文件夹并取消选中只读复选框。
应用并保存。 如果还有问题,请告诉我。