2017-01-18 2 views
1

Я новичок в C#, я пытаюсь сохранить изображение растрового изображения при нажатии кнопки. Для этого я использую Visual Studio 2010. Я могу сохранить свое изображение, передав конкретную строку в качестве имени файла. Вот мой код для сохранения изображения: -Невозможно сохранить растровое изображение с именем переменной

private void button1_Click(object sender, EventArgs e) 
    { 

     bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb); 
     gfxScreenshot = Graphics.FromImage(bmpScreenshot); 
     gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); 
     bmpScreenshot.Save("img.jpg", ImageFormat.Jpeg); 
    } 

Но я хочу, чтобы сохранить это изображение, имеющее имя, как время, в которое было захвачено изображение. Так что я добавить это в мой код: -

private void button1_Click(object sender, EventArgs e) 
    { 
     string time = DateTime.Now.ToString("hh:mm:ss"); 
     string img = time + ".jpg"; 
     bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb); 
     gfxScreenshot = Graphics.FromImage(bmpScreenshot); 
     gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); 
     bmpScreenshot.Save(img, ImageFormat.Jpeg); 

    } 

Этот код сборки хорошо, но когда я нажимаю на мою кнопку, я получил это исключение: -

NotSupportedException was handled 

Может кто-нибудь сказать мне, как сохранить свой имидж с именем как временным кодом.

+2

Вы не можете иметь ':' в именах файлов –

ответ

2

Название файла не должно содержать :. Попробуйте изменить это в подчеркиванием или просто удалить его:

private void button1_Click(object sender, EventArgs e) 
{ 
    string time = DateTime.Now.ToString("HHmmss"); 
    string img = time + ".jpg"; 
    bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb); 
    gfxScreenshot = Graphics.FromImage(bmpScreenshot); 
    gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); 
    bmpScreenshot.Save(img, ImageFormat.Jpeg); 

} 
+0

Большое спасибо чувак, я застрял в этом более 2-х часов. –

+1

@TabishSaifullah приветствую вас ... :) – Ian

Смежные вопросы