Farbe herausfinden und ausgeben

  • Ich habe das zwar schon in einem anderem forum gepostet, aber hier ist einfach mehr los ;)

    Wie kriege ich hin, dass in einem fenster die farbe angezeigt wird, über der die maus gerade ist?

    ich habe es schon so probiert, aber das geht nicht

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("test", 178, 181, 192, 124)
    GUISetCursor (3)
    $Label1 = GUICtrlCreateLabel($var, 16, 24, 148, 33)
    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit]

    While 1
    $pos = MouseGetPos()
    If IsArray($pos) Then
    $var = PixelGetColor( $pos[0],$pos[1] )

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit]


    ps.:
    Es soll auf dem kompletten Bildschirm funktionieren

    Einmal editiert, zuletzt von RaYder04 (14. August 2009 um 18:42)

  • mh das ist sehr knapp
    wie funktioniert

    [autoit]

    GUICtrlSetData ( controlID, data , default)

    [/autoit]
    • Offizieller Beitrag

    Schau dir mal das an:

    Spoiler anzeigen
    [autoit]

    #cs **************************************************************************

    Farbe herausfinden

    http://www.autoit.de/index.php?page…8120#post108120

    #ce **************************************************************************

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Global $var, $nMsg
    $Form1 = GUICreate("test", 178, 181, 192, 124)
    GUISetCursor(3)
    $Label1 = GUICtrlCreateLabel("", 16, 24, 148, 17)
    $LABEL2 = GUICtrlCreateLabel("", 16, 48, 148, 17)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $pos = MouseGetPos()
    If IsArray($pos) Then
    $var = PixelGetColor($pos[0], $pos[1])
    GUICtrlSetData($LABEL2, "Xpos: " & $pos[0] & " Ypos: " & $pos[1])
    GUICtrlSetData($Label1, "Farbe:" & $var)
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]
  • Manchmal frage ich mich wozu es ne Hilfe mit Beispielen gibt. Und wir Idioten machen uns auch noch die Arbeit und übersetzen das ganze.

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Indem du in der Hilfe den Befehl suchst wo dann schon ganz oben steht:

    Modifies the data for a control.

    Und dann hätte dir ja ziemlich schnell klar werden sollen was du vergessen hattest oder?
    Zudem gibts dort ein Beispiel wie GUICtrlSetData funktioniert.

    Und wenn du es dann immernoch nicht verstehst (ist ja nicht weiter schlimm) haben wir eine tolle SuFu hier im Forum. Denn GUIctrlsetdata wurde hier schon so oft behandelt das ist bestimmt gleich die top2 nach BOT.

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

    • Offizieller Beitrag

    FireFlyer nicht so grob zu einem Neuling sein. Wir haben doch alle klein angefangen. In seinem Script war ja auch noch ein Fehler mit der Messageabfrage. Mir sind solche Themen bedeutend lieber als der Ewige Spiel-Bot Scheiß, den 90 % aller neuangemeldeten loslassen .

  • oh jetzt habe ich es erst entdeckt, woher soll man das denn bitteschön wissen? steht ja niergends

  • Sorry wollte nich so hart schreiben, das klang jetzt härter als es gemeint war. Aber die Hilfe sollte man ja schon kennen oder? Das ist doch das womit man überhaupt anfängt. (zumindest wars bei mir so^^) Das mit der SuFu okeee.... Naja jetzt weisst dus wie gesagt die allermeisten dinge wurden hier schon einmal genannt :)

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • so ich will nun, das ein label mit der gefundenen farbe gefärbt wird....
    Wieso werden die farben falsch angezeigt??? lol

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("test", 291, 156, 397, 362)
    $Group1 = GUICtrlCreateGroup("Farbe in HEX", 16, 56, 113, 81)
    $Label2 = GUICtrlCreateLabel("#", 32, 72, 11, 17)
    GUICtrlSetBkColor(-1, 0xC0DCC0)
    $farbe = GUICtrlCreateLabel("FFFFFF", 40, 72, 40, 17)
    GUICtrlSetBkColor(-1, 0xC0DCC0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Farbe", 152, 56, 113, 81)
    $Label3 = GUICtrlCreateLabel(" ", 168, 72, 85, 49, $WS_BORDER)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Global $var, $nMsg

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $pos = MouseGetPos()
    If IsArray($pos) Then
    $var = PixelGetColor($pos[0],$pos[1])
    GUICtrlSetData($farbe, Hex($var, 6))
    EndIf
    GUICtrlSetBkColor($Label3, Hex($var))
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Form1 = GUICreate("test", 291, 156, 397, 362)
    $Group1 = GUICtrlCreateGroup("Farbe in HEX", 16, 56, 113, 81)
    $Label2 = GUICtrlCreateLabel("#", 32, 72, 11, 17)
    GUICtrlSetBkColor(-1, 0xC0DCC0)
    $farbe = GUICtrlCreateLabel("FFFFFF", 40, 72, 40, 17)
    GUICtrlSetBkColor(-1, 0xC0DCC0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Farbe", 152, 56, 113, 81)
    $Label3 = GUICtrlCreateLabel(" ", 168, 72, 85, 49, $WS_BORDER)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    Local $Pos_old[2], $pos, $col, $col_old, $nMsg

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $pos = MouseGetPos()
    If $pos[0] <> $Pos_old[0] Or $pos[1] <> $Pos_old[1] Then
    $col = PixelGetColor($pos[0], $pos[1])
    If $col <> $col_old Then
    GUICtrlSetData($farbe, Hex($col, 6))
    GUICtrlSetBkColor($Label3, $col)
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    $Pos_old = $pos
    $col_old = $col
    WEnd

    [/autoit]