2015-01-21 37 views
0

我想创建一个简单的捕获活动窗口。所以,我创建像下面的代码:在向保存的图片添加日期和时间时发生GDI +中的通用错误

string _dateTime = DateTime.Now.ToString("dd/MM/yyyy"); 

     Rectangle bounds = this.Bounds; 

     try 
     { 
      using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height)) 
      { 
       using (Graphics g = Graphics.FromImage(bitmap)) 
       { 
        g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size); 
       } 

       bitmap.Save("D:/Test/Screenshot - " + _dateTime + " -.jpg", ImageFormat.Jpeg); 

       SystemManager.ShowMessageBox("Success!", "Success", 1); 
      } 
     } 

     catch (Exception ex) 
     { 
      SystemManager.ShowMessageBox("There is an unexpected error: " + ex.Message, "Error", 3); 
     } 
    } 

但上面的代码给出一个错误:

A generic error occured in GDI+

但是,一旦我改变了保存的图像到这一点:

bitmap.Save("D:/Test/Screenshot.jpg", ImageFormat.Jpeg); 

它成功捕获图像。

我的问题是:它不能将日期和时间添加到保存的图像?

所以格式将是这样的:

Screenshot - 21/01/2015 -.jpg

任何帮助,将不胜感激!

谢谢

+0

“Screenshot-21/01/2015 -.jpg”表示您试图将文件“2015 -.jpg”保存在文件夹“Screenshot-21”中,子文件夹“01”... – 2015-01-21 08:06:50

+0

你@DanByström,已经解决了。 – Yunnan 2015-01-21 08:20:05

回答

2

Bitmap.Save()不建立子目录,这就是为什么你所得到的错误。

将位图保存为“屏幕截图 - 21/01/2015 -.jpg”它假设/是一个目录分隔符,它将尝试相应地构建路径。

一个简单的方法是用一些其他字符构造日期时间,例如-

+0

非常感谢 – Yunnan 2015-01-21 08:19:40

相关问题