понедельник, 29 сентября 2014 г.

Как программно сделать скриншот.

Если когда-нибудь вам понадобиться программно сделать скриншот (ну, вдруг вы захотите облегчить жизнь пользователям и себе и решите делать скриншот автоматически в случае какой-то серьезной ошибки в вашем приложении), то нет ничего проще. Всего несколько строк кода и все готово:

 
     Bitmap screen;

     //в начале, нам надо получить размеры экрана.
     Rectangle screenDimensions = System.Windows.Forms.Screen.PrimaryScreen.Bounds;
     Size s = new Size(screenDimensions.Width, screenDimensions.Height);

     //и создать соответствующее пустое изображение.
     screen = new Bitmap(s.Width, s.Height);
     Graphics memoryGraphics = Graphics.FromImage(screen);

     //вуаля! делаем скриншот.
     memoryGraphics.CopyFromScreen(0, 0, 0, 0, s);

     //и сохраняем в файл.
     screen.Save("any_filename_you_like.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);


PS. Да, не забудьте подключить пространство имен System.Drawing.

2 комментария:

  1. ещё бы подставил комменты и как брать с отступами не по нулям --- а например части окон..

    ОтветитьУдалить
    Ответы
    1. Ok. Напишу новый пост с подробностями. Вплоть до того как сделать скриншот конкретного окна.

      Удалить