So erkennen Sie die Farbe eines Bildschirmpixels
Bei dieser Frage sucht ein Benutzer nach einer Methode, um die Farbe eines bestimmten Pixels zu bestimmen auf ihrem Bildschirm. Das ultimative Ziel besteht darin, eine Aktion auszulösen, wenn eine bestimmte Farbe erkannt wird.
Die effiziente Lösung finden
Der effektivste Ansatz besteht darin, die Funktion „GetColorAt“ zum Abrufen der Pixel zu verwenden Farbe an einem bestimmten Ort. Im Gegensatz zu einigen anderen Methoden ist dieser Ansatz unabhängig von der Anzahl der mit dem System verbundenen Monitore.
Hier ist ein C#-Codeausschnitt, der die GetColorAt-Funktion implementiert:
public Color GetColorAt(Point location) { using (Graphics gdest = Graphics.FromImage(screenPixel)) { using (Graphics gsrc = Graphics.FromHwnd(IntPtr.Zero)) { IntPtr hSrcDC = gsrc.GetHdc(); IntPtr hDC = gdest.GetHdc(); int retval = BitBlt(hDC, 0, 0, 1, 1, hSrcDC, location.X, location.Y, (int)CopyPixelOperation.SourceCopy); gdest.ReleaseHdc(); gsrc.ReleaseHdc(); } } return screenPixel.GetPixel(0, 0); }
Verwenden der Informationen zur Pixelfarbe
Mit der GetColorAt-Funktion können Sie jetzt ein bestimmtes Pixel auf dem Bildschirm nach einem gewünschten Ergebnis abfragen Farbe. Hier ist ein Beispiel für die Abfrage eines blauen Pixels:
private void PollPixel(Point location) { while(true) { var c = GetColorAt(location); if (c.R == c.G && c.G < 64 && c.B > 128) { DoAction(); return; } Thread.Sleep() } }
Dieser Code fragt kontinuierlich das Pixel an einer bestimmten Stelle ab. Wenn das Pixel den blauen Kriterien entspricht, wird die DoAction-Methode ausgelöst.
Fazit
Mit der GetColorAt-Funktion können Sie die Farbe einzelner Bildschirmpixel effizient bestimmen. Mit dieser Funktion können Sie verschiedene Bildverarbeitungs- oder Bildschirmerkennungsaufgaben implementieren, je nach den Anforderungen Ihrer spezifischen Anwendung.
Das obige ist der detaillierte Inhalt vonWie kann ich die Farbe eines bestimmten Bildschirmpixels programmgesteuert erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!