Как узнать цвет пикселя на мониторе - C#

Узнай цену своей работы

Формулировка задачи:

Привет всем. Задумал реализовать некую программу для автоматизации, а вся трудность в определении цвета пикселя в заданной координате монитора! (не окна, не готового изображения). В Delphi все решилось 3мя строчками:
DC :=GetDC(0); 
Color := GetPixel(DC, 300, 300); 
ReleaseDC(0,DC);
В C# же вообще никак не получается, перелопатил форум, все только с PictureBox'ами, готовыми изображениями, проверил, потестил, работают....НО как определить просто цвет в заданной координате. В MSDN тоже примеры с готовым изображением, аля:
private void GetPixel_Example(PaintEventArgs e)
{
    Bitmap myBitmap = new Bitmap("Grapes.jpg");
    Color pixelColor = myBitmap.GetPixel(50, 50);
}
Большое спасибо заранее.

Решение задачи: «Как узнать цвет пикселя на мониторе»

textual
Листинг программы
static Color GetDesktopColor(int x, int y) {
    using (
        Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height,
            PixelFormat.Format32bppArgb)){
        using (Graphics g = Graphics.FromImage(bmp)){
            g.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0,
                Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
        }
        return bmp.GetPixel(x, y);
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы