Diese Farben in Pixelsearch bringen:

  • VB.NET

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

    Diese Farben in Pixelsearch bringen:

    Hi.
    Ich habe nun 3 Hexadezimalzahlen!


    Farbcodes:
    #51973E Gelb
    #C2A13A Grün
    #EB1609 Rot

    Ausgerechnet hier:
    mws-design.ch/mws_WEBDESIGN/Grundlagen/Umrechnen/RGB2HEX.htm




    Mit diesem Code möchte ich sie einbinden:

    Dim farbe As Integer = 16711680 '<-- Da sollen meine Farben rein (Immer nur eine)

    Dim b As New Bitmap(My.Computer.Screen.WorkingArea.Width, My.Computer.Screen.WorkingArea.Height)
    Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(b)
    g.CopyFromScreen(0, 0, 0, 0, New Size(b.Width, b.Height))

    For i = 0 To (b.Width - 1)
    For j = 0 To (b.Height - 1)
    If b.GetPixel(i, j) = Color.FromArgb(farbe) Then
    MsgBox("Pixel gefunden")
    Else
    msbox("Pixel nicht gefunden")
    End If
    Next
    Next


























    Thx und mfg.
    TGS

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TheGameSiders“ () aus folgendem Grund: Neue Kenntnisse

    VB.NET-Quellcode

    1. 0xFF
    ist in C, C++, C# die Hexadezimal-Darstellung con 255. VB: &HFF
    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!

    TheGameSiders schrieb:

    Ich versteh das nicht...
    Ich verstehe Dein Problem auch nicht. ;(
    Mach mal folgendes:
    Ich hab ein Programm / Ich will ein Programm machen, das Dieses und Jenes macht / machen soll.
    Ich will aber, dass es nur Jenes macht / etwas ganz anderes machen soll.
    Z.B.:
    Ich will, dass meinem Konto jedes Mal, wenn ich klicke, 1000 Euro gutgeschrieben werden.
    Problem: Ich kann klicken wie ich will, der Kontostand ändert sich nicht.
    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!
    Dim farbe As Integer = 16711680 '<-- Wie bekomme ich diesen code?

    Dim b As New Bitmap(My.Computer.Screen.WorkingArea.Width, My.Computer.Screen.WorkingArea.Height)
    Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(b)
    g.CopyFromScreen(0, 0, 0, 0, New Size(b.Width, b.Height))

    For i = 0 To (b.Width - 1)
    For j = 0 To (b.Height - 1)
    If b.GetPixel(i, j) = Color.FromArgb(farbe) Then
    MsgBox("Pixel gefunden")
    Else
    msbox("Pixel nicht gefunden")
    End If
    Next
    Next

    Ja das ist es!
    Wie bekomme ich oben den Code raus?
    Also ich will eine GANZ BESTIMMTE farbe vom desktop bekommen. Von einem punkt im bild!

    Hoffe verstehst jetzt

    VB.NET-Quellcode

    1. Dim farbe As Integer = &HFF0000 ' das ist Rot
    2. Dim col As Color = Color.Aquamarine
    3. Dim l As Integer = col.ToArgb ' das wäre Dein Wert
    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!

    VB.NET-Quellcode

    1. Dim col As Color = Color.Aquamarine
    2. Dim l As Integer = col.ToArgb ' das wäre Dein Wert
    3. Dim hex As String = l.ToString("X") ' das ist die Hexadezimal-Repräsentation Deines Wertes
    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!

    VB.NET-Quellcode

    1. Dim l As Integer = col.ToArgb ' das wäre Dein Wert
    2. 'AARRGGBB
    3. '00FF0000 Hex-Darstellung
    über den beiden F-s steht RR, also die Rot-Komponente. :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!
    kannste bitte deinen gerade geposteten code in den von mir oben mit meiner farbe reinbauen?

    Ich bekomme es nicht reingebaut!

    Immer was deklariert oder der sagt der Pixel ist nicht auf dem Bildschirm!

    Danke!

    Wäre seeeeeeeehr nett! :thumbsup:
    Ist doch ganz einfach:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim farbe As Integer = &HFF0000 '16711680 '<-- Da sollen meine Farben rein (Immer nur eine)
    2. Dim b As New Bitmap(My.Computer.Screen.WorkingArea.Width, My.Computer.Screen.WorkingArea.Height)
    3. Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(b)
    4. g.CopyFromScreen(0, 0, 0, 0, New Size(b.Width, b.Height))
    5. For i = 0 To (b.Width - 1)
    6. For j = 0 To (b.Height - 1)
    7. Dim col As Integer = (b.GetPixel(i, j).ToArgb) And &HFFFFFF
    8. If col = farbe Then
    9. MsgBox("Pixel gefunden")
    10. Else
    11. MsgBox("Pixel nicht gefunden")
    12. End If
    13. Next
    14. Next
    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!

    TheGameSiders schrieb:

    Was ist 0xB97A57 ? Dezimal oder hexa?
    Das ist die C / C++ / C#-Darstellung einer Hex-Zahl.

    VB.NET-Quellcode

    1. dim ii As UInteger = &HB97A57
    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!