Hallo
Bin noch Anfänger in AutoIt und wollte etwas nützliches machen.
Angezeigt wird die Farbe über der die Maus gerade ist im RGB und Hex Format. Ausserdem sieht man noch ein kleines Bildchen als Vorschau.
Sobald man die Linke Maustaste drückt bleiben die werte bestehen.
Mit dem Reset-Button kann man es wieder zurücksetzten.
Spoiler anzeigen
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\..\Desktop\favicon.ico
#AutoIt3Wrapper_outfile=ColorPicker.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstantsEx.au3>
#include <Constants.au3>
#include <Misc.au3>
#include <Color.au3>
#include <String.au3>
Opt("GUIOnEventMode", 1)
Opt("TrayMenuMode",1)
Global $TrayShow = TrayCreateItem('Anzeigen')
Global $TrayExit = TrayCreateItem('Beenden')
TraySetClick(16)
Dim $pressed = False
[/autoit] [autoit][/autoit] [autoit]#Region GUI
$GUI = GUICreate("ColorPicker", 194, 90, 192, 114, -1, 0x00000008)
GUISetCursor (3)
$color = GUICtrlCreateLabel("R G B ", 7, 13, 31, 17)
$hex = GUICtrlCreateLabel("Hex Wert", 7, 35, 49, 17)
$colorInput = GUICtrlCreateInput("", 60, 8, 85, 21, 0x0800)
$hexInput = GUICtrlCreateInput("", 60, 32, 85, 21, 0x0800)
$Graphic = GUICtrlCreateGraphic(152, 8, 34, 44)
GUICtrlSetBkColor(-1, 0x000000)
$Reset = GUICtrlCreateButton("Reset", 8, 59, 65, 25)
GUICtrlSetOnEvent(-1, "_Reset")
GUISetOnEvent($GUI_EVENT_CLOSE, "Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Minimize")
GUISetState(@SW_SHOW)
#EndRegion
While True
If _IsPressed("01") Then $pressed = True
If Not $pressed Then
$MousePos = MouseGetPos()
$colorOnPixel = PixelGetColor($MousePos[0], $MousePos[1])
$hexOnPixel = Hex($colorOnPixel)
$r = _ColorGetRed($colorOnPixel)
$g = _ColorGetGreen($colorOnPixel)
$b = _ColorGetBlue($colorOnPixel)
$Hex = "0x" & StringRight($hexOnPixel, 6)
[/autoit] [autoit][/autoit] [autoit]GUICtrlSetBkColor($Graphic, $Hex)
GUICtrlSetData($colorInput, $r &" "& $g &" "& $b)
GUICtrlSetData($hexInput, $Hex)
EndIf
Sleep(100)
[/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit] [autoit][/autoit] [autoit]Func Close()
Exit 0
EndFunc
Func Minimize()
Opt("TrayIconHide", 0)
GUISetState(@SW_HIDE, $GUI)
TrayTip("ColorPicker", "Ihr Programm wird weiter ausgeführt. Klicken Sie hier um es Sichtbar zu machen.", 15, 1) ; Tray-Tip anzeigen bei Minimierung
While True
$TrayMsg = TrayGetMsg()
Switch $TrayMsg
Case $TRAY_EVENT_PRIMARYDOUBLE ; Doppelklick auf das Tray Icon
Opt('TrayIconHide', 1)
GUISetState(@SW_SHOW, $GUI)
GUISetState(@SW_RESTORE, $GUI)
ExitLoop
Case $TrayShow ; Anzeigen wurde ausgewählt
Opt('TrayIconHide', 1)
GUISetState(@SW_SHOW, $GUI)
GUISetState(@SW_RESTORE, $GUI)
ExitLoop
Case $TrayExit ; Beenden wurde ausgewählt
Exit
EndSwitch
WEnd
EndFunc
Func _Reset()
$pressed = False
EndFunc
Ist nichts besonderes, würde mich aber sehr über eure Meinung freuen & Verbesserungen hören.
Falls es Fehler gibt würde ich sie gerne hören =)