2013-09-12 3 views
2

Поэтому я иметь такую ​​форму, где, если пользователь нажимает на кнопку, этот метод запускается на выполнение:C# Printscreen | Общая ошибка произошла в GDI +.

//Takes a screenshot of the screen to send it with the email 
    private void screenshot() 
    { 
     Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); 

     Graphics graphics = Graphics.FromImage(printscreen as Image); 

     graphics.CopyFromScreen(0,0,0,0, printscreen.Size); 

     printscreen.Save(@"C:\Users\*******\Desktop", ImageFormat.Jpeg); 
    } 

Но когда я нажимаю кнопку, я получаю следующее сообщение об ошибке: Произошла общая ошибка в GDI +.

Любые идеи?

Заранее спасибо.

+0

Вы пытались использовать отладчик, чтобы узнать, на какой строке сбой вашего кода? – SolarBear

+0

Отладчик выделяет последнюю строку кода, где я пытаюсь сохранить изображение. – user2772532

+0

Путь в 'Сохранить' является узким местом, попробуйте проверить путь перед его использованием. – PurpleXenon

ответ

8

Держу пари, что он вызывает сбой Save, не так ли? :)

Сделать абсолютно уверенным, что это возможно в этом файле! Как и в вашем случае: Надеюсь, вы не пытаетесь сохранить изображение в качестве папки вашего рабочего стола, потому что это похоже на него;)

+1

Спасибо! Я изменил последнюю строку на: printscreen.Save (@ "C: \ Users \ **** \ Desktop \ File", ImageFormat.Jpeg); И это сработало. Большое спасибо. – user2772532

+0

Было приятно :) Я несколько раз сталкивался с этим исключением и ненавижу, как сообщение об исключении оставляет вас без подсказки - IOException будет иметь гораздо больше смысла ... – olydis

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