Получить снимок экрана активного окна?

У меня тоже была эта проблема. Оказалось, что я случайно удалил строковый ресурс «app_name» из файла strings.xml, что приводило к тихой ошибке. Как только я добавил его обратно, класс R был сгенерирован успешно, и все снова заработало.

163
задан Yuck 11 April 2014 в 16:43
поделиться

4 ответа

ScreenCapture sc = new ScreenCapture();
// capture entire screen, and save it to a file
Image img = sc.CaptureScreen();
// display image in a Picture control named imageDisplay
this.imageDisplay.Image = img;
// capture this window, and save it
sc.CaptureWindowToFile(this.Handle,"C:\\temp2.gif",ImageFormat.Gif);

http://www.developerfusion.com/code/4630/capture-a-screen-shot/

146
ответ дан 23 November 2019 в 21:16
поделиться
Rectangle bounds = Screen.GetBounds(Point.Empty);
using(Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
{
    using(Graphics g = Graphics.FromImage(bitmap))
    {
         g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
    }
    bitmap.Save("test.jpg", ImageFormat.Jpeg);
}

для захвата текущего окна используйте

 Rectangle bounds = this.Bounds;
 using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
 {
    using (Graphics g = Graphics.FromImage(bitmap))
    {
        g.CopyFromScreen(new Point(bounds.Left,bounds.Top), Point.Empty, bounds.Size);
    }
    bitmap.Save("C://test.jpg", ImageFormat.Jpeg);
 }
213
ответ дан 23 November 2019 в 21:16
поделиться

Я предполагаю, что вы используете Graphics.CopyFromScreen , чтобы получить снимок экрана.

Вы можете использовать P / Invoke для GetForegroundWindow ( и затем получите его положение и размер ), чтобы определить, из какой области нужно копировать.

7
ответ дан 23 November 2019 в 21:16
поделиться

Вы можете использовать код из этого вопроса: Как могу ли я сохранить снимок экрана непосредственно в файл в Windows?

Просто замените WIN32_API.GetDesktopWindow () свойством Handle окна, которое вы хотите захватить.

5
ответ дан 23 November 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: