
Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); // Определяем размер будущего изображения
graph = Graphics.FromImage(bmp);
graph.CopyFromScreen(0, 0, 0, 0, bmp.Size); // Фотографируем экран
bmp.Save("C:\\1.bmp");
graph.Dispose();
таки полезная функция
А как это встроить в Windows Forms чтобы скрин по нажатию кнопки делался?
А ещё если не трудно можете объяснить пожалуйста как чтобы скрины начинали делаться по нажатию кнопки 24 раза в секунду а при нажатии на другую кнопку прекращались и сохранялись в папку?
В первом случае нужно просто скопировать и вставить код в обработчик события нажатия кнопки, а во втором нужно делать таймер:
Timer myTimer = new Timer ();
myTimer.Elapsed += new ElapsedEventHandler ( timerEvent );
myTimer.Interval = 1000 / 24;
myTimer.Start ();
int i=0;
public static void timerEvent ( object source, ElapsedEventArgs e )
{
Bitmap bmp = new Bitmap (Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); // Определяем размер будущего изображения
graph = Graphics.FromImage (bmp);
graph.CopyFromScreen (0, 0, 0, 0, bmp.Size); // Фотографируем экран
bmp.Save («C:\\»+i+".bmp");
i++;
graph.Dispose ();
}
Ну про первый случай я сам так пытался сделать, но большинство тегов после этого подсвечивается красным. Например graph подсвечивается красным, может его в using надо объявить?
Перед этим кодом объявите
Graphics graph = null;
Прикольно, спасибо.