Проблемы производительности CopyFromScreen и GetPixel

Я использую функцию GetPixel, чтобы взять пиксель с экрана и вернуть его цвет:

int GetPixel(int X, int Y)
    {
        Bitmap bmp = new Bitmap(1, 1, PixelFormat.Format32bppPArgb);
        Graphics grp = Graphics.FromImage(bmp);
        grp.CopyFromScreen(new Point(X, Y), Point.Empty, new Size(1, 1));
        grp.Save();

        return bmp.GetPixel(0, 0).ToArgb();
    }

Это работает хорошо, но вызов функции 5 раз в секунду для получения 5 разных цветов пикселей, похоже, снижает мой fps на 10-15. Есть ли более эффективный способ использования CopyFromScreen?

0 ответов

Другие вопросы по тегам