需要编写个获奖的小程序,用截屏保存,截屏保存时的文件名需要用变量来保存,但是就一直错
请大家指导,帮忙看一下;错误代码如下
try
{
Screen scr = Screen.PrimaryScreen;
Rectangle rc = scr.Bounds;
int iWidth = rc.Width;
int iHeight = rc.Height;
Bitmap myImage = new Bitmap(iWidth, iHeight);
Graphics gl = Graphics.FromImage(myImage);
gl.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(iWidth, iHeight));
Bitmap _img = myImage;
pictureBox1.Image = _img;
string filedate = DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString();
string filename = filedate + comboBox1.SelectedItem.ToString() + "获得者名单.jpg";
string ePath = @"E:\Winning\";
string path = Path.Combine(ePath, filename);//此处PATH的值为”E:\\Winning\\20:52:8三等奖获得者名单.jpg"
//string path = ePath + filename;//这样拼接也出错
MessageBox.Show(path);
//_img.Save(@"E:\Winning\1.jpg");//用字符串保存则正常
_img.Save(path);
}
catch (Exception ex)
{
MessageBox.Show("截屏失败!\n" + ex.Message.ToString() + "\n" + ex.StackTrace.ToString());
}
错误提示,由于是生手,看不明白,只知道是路径错误,请指导
图片出错了,看不到
文件命里面不能出现这些字符的 \ / : ? " < > |
不信你新建一个文件用带有上面字符保存一下试试
你在磁盘上新建一个文本文件,然后将其重命名为:“20:52:8三等奖获得者名单.jpg”,试试。
谢谢,已经明白了,就是把时间格式改一下就可以了
你的文件名不符合规则。有":" 号,这是不允许的。
文件名不能包含下列任何字符:
\ / : ? " < > |
文件名中的时间部分可以这样DateTime.Now.ToString("yyMMddHHmmss")
谢谢,把时间改一下就好了
文件命名不对额,亲特殊符号
谢谢,已经明白了