Вставить снимок экрана в Windows Form Picturebox C# - PullRequest
0 голосов
/ 06 августа 2020

Я написал этот метод в моем приложении WindowsForm, чтобы сделать снимок экрана с части экрана:

public static Image Preview(int startX, int startY, int width, int height)
{
    Rectangle bounds = new Rectangle(startX, startY, width, height);

    using (Bitmap scr = new Bitmap(bounds.Width, bounds.Height))
    {
        using (Graphics g = Graphics.FromImage(scr))
        {
            g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size);
        }
        return scr;
    }
}

Затем я ввел возвращаемое значение в PictureBox:

MyPictureBox.Image = Preview(0, 0, 1080, 720);

Но когда я запускаю его, я получаю эту ошибку:

System.ArgumentException: «Параметр недействителен.»

В чем проблема? (Прошу прощения за грамматические ошибки, я не являюсь носителем английского sh говорящего)

1 Ответ

2 голосов
/ 06 августа 2020

Я больше не получаю сообщение об ошибке, если удаляю using:

        Bitmap scr = new Bitmap(bounds.Width, bounds.Height);
        {
            using (Graphics g = Graphics.FromImage(scr))
            {
                g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size);
            }
        }
        return scr;
...