Pixelfarbe auf dem Desktop suchen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Pixelfarbe auf dem Desktop suchen

    Hallo an alle!

    Ich wollte mal nach einen Code (wenigstens Prinzip oder Ansatz) zum Suchen einer Pixelfarbe auf dem Desktop wonach auch die Maus hin soll...
    Wenn jemand Ahnung hat, wär das echt klasse!

    LG Alpha
    Ein Ansatz ist schnell erklärt:

    Du machst nen Screenshot (dürfte hier im Forum bereits in hinreichend epischer Breite erklärt sein), durchsuchst das gesamte Bild nach der Farbe (wohl Pixel für Pixel, wie man sowas bei Bildern macht, ist ebenfalls im Forum erklärt) und benutzt dann eine API-Funktion um die Maus zu bewegen (möglicherweise geht das auch mit VB-Mitteln).

    Also bitte dreimal die Suchfunktion nutzen ;)
    Danke für deine Antwort, aber das hab ich schon alles gemacht... Z. B. habe ich jetzt die Farbe: "[A=255, R=255, G=255, B=255]" (Weiß). Aber jedetzt muss ich nur noch nach der Farbe suchen! Man kann das mit einer Schleife machen, doch evtl gibt es noch andere geeignete Funktionen. Ich hätte es mit einer for-next-schleife gemacht, aber das dauert sehr lange.

    Freue mich über jede Antwort!

    LG Alpha
    Vielen Dank für deine Antwort SystemUnkow!

    Ich habe folgenden Code gehabt:

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    2. Dim x As Integer
    3. Dim y As Integer
    4. For x = 1 To 1920
    5. For y = 1 To 1080
    6. Dim pixColor As Color = GetPixelColor(Cursor.Position.X, Cursor.Position.Y)
    7. Cursor.Position = New Point(x, y)
    8. If pixColor.ToString = TextBox1.Text Then
    9. GoTo Ende
    10. End If
    11. Next
    12. Next
    13. Ende:
    14. MsgBox("fertig")
    15. End Sub


    Aber ich versuchs mal mit der schelleren Variante...

    LG Alpha

    Alpha11833 schrieb:

    VB.NET-Quellcode

    1. For x = 1 To 1920
    2. For y = 1 To 1080

    1. von 0 bis (n-1)
    2. diese Größen auslesen, nicht fest in den Programmcode eintragen.
    Was machst Du, wenn jemand einen 1920x1200- oder einen 1280x720-Pixel-Monitor hat? :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!