Hi,
gute Arbeit, sehr schöner Stil.
Tipps:
Keine Includes nötig.
Den 14 mal "@TempDir & "\Pipette.txt"" eine Variable spendieren "Global $PipetteTXT = @TempDir & "\Pipette.txt"".
Das Icon in das Script einbauen.
Spoiler anzeigen
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=Pipette.exe
#AutoIt3Wrapper_Res_Icon_Add=copy.ico ;i icon wird in die EXE eingebaut !erst beim kompilieren!
#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 ;i mehr Auskunft u. Sicherheit fürs Script
#AutoIt3Wrapper_Run_Tidy=y
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/striponly
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
$farbehtml = "#000000"
$R = 0
$G = 0
$B = 0
$on = False
Global $PipetteTXT = @TempDir & "\Pipette.txt" ;i eine Globale Var für alle 14 Pfade !
Global $farbebackup, $title = "Pipette"
GUICreate($title, 615, 219)
GUICtrlCreateGroup("", 8, 8, 161, 201)
$vorschau = GUICtrlCreateLabel("", 13, 20, 148, 148)
GUICtrlSetBkColor(-1, 0x0)
$start = GUICtrlCreateButton($title, 16, 176, 147, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("Farbmodelle", 176, 16, 233, 193)
GUICtrlCreateLabel("Hexadezimal (HEX):", 192, 40, 98, 17)
$hex_input = GUICtrlCreateInput("#000000", 208, 57, 161, 21)
$copy_hex = GUICtrlCreateButton("", 376, 56, 21, 21, 0x0040)
GUICtrlSetImage(-1, @ScriptFullPath, -5) ;i Aufruf des eingebauten Icons !
GUICtrlCreateLabel("RGB-Farbraum (RGB):", 192, 88, 109, 17)
$RGB_R = GUICtrlCreateInput("0", 208, 104, 49, 21)
$RGB_G = GUICtrlCreateInput("0", 264, 104, 49, 21)
$RGB_B = GUICtrlCreateInput("0", 320, 104, 49, 21)
$copy_rbg = GUICtrlCreateButton("", 376, 104, 21, 21, 0x0040)
GUICtrlSetImage(-1, @ScriptFullPath, -5) ;i Aufruf des eingebauten Icons !
GUICtrlCreateLabel("Prozentualer RGB-Farbraum (RBG %):", 192, 136, 182, 17)
$Proz_R = GUICtrlCreateInput("0", 208, 152, 49, 21)
$Proz_G = GUICtrlCreateInput("0", 264, 152, 49, 21)
$Proz_B = GUICtrlCreateInput("0", 320, 152, 49, 21)
$copy_proz = GUICtrlCreateButton("", 376, 152, 21, 21, 0x0040)
GUICtrlSetImage(-1, @ScriptFullPath, -5) ;i Aufruf des eingebauten Icons !
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("Verlauf", 416, 16, 153, 193)
$verlauf = GUICtrlCreateList("", 424, 32, 137, 162)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
FileDelete($PipetteTXT)
Exit
Case $copy_hex
ClipPut($farbehtml)
Case $copy_rbg
ClipPut(Round($R / 255 * 100, 1) & ", " & Round($B / 255 * 100, 1) & ", " & Round($G / 255 * 100, 1))
Case $start
HotKeySet("{Enter}", "_Mark")
GUICtrlSetState($start, 128)
GUICtrlSetData($start, "Enter drücken zum ablegen !")
$on = True
Case $verlauf
GUICtrlSetData($hex_input, IniRead($PipetteTXT, GUICtrlRead($verlauf), "HexHTML", "Error"))
GUICtrlSetBkColor($vorschau, IniRead($PipetteTXT, GUICtrlRead($verlauf), "HexVorschau", "Error"))
GUICtrlSetData($RGB_R, IniRead($PipetteTXT, GUICtrlRead($verlauf), "R", "Error"))
GUICtrlSetData($RGB_G, IniRead($PipetteTXT, GUICtrlRead($verlauf), "G", "Error"))
GUICtrlSetData($RGB_B, IniRead($PipetteTXT, GUICtrlRead($verlauf), "B", "Error"))
GUICtrlSetData($Proz_R, Round(IniRead($PipetteTXT, GUICtrlRead($verlauf), "R", "Error") / 255 * 100, 1))
GUICtrlSetData($Proz_G, Round(IniRead($PipetteTXT, GUICtrlRead($verlauf), "G", "Error") / 255 * 100, 1))
GUICtrlSetData($Proz_B, Round(IniRead($PipetteTXT, GUICtrlRead($verlauf), "B", "Error") / 255 * 100, 1))
EndSwitch
If $on = True Then
$farbe = PixelGetColor(MouseGetPos(0), MouseGetPos(1))
If $farbebackup <> $farbe Then
$farbehex = Hex($farbe)
$farbehex = StringTrimLeft($farbehex, 2)
$farbehtml = "#" & $farbehex
$farbedarstellung = "0x" & $farbehex
GUICtrlSetBkColor($vorschau, $farbedarstellung)
$HR = StringMid($farbehex, 1, 2)
$HG = StringMid($farbehex, 3, 2)
$HB = StringMid($farbehex, 5, 2)
$R = Dec($HR)
$G = Dec($HG)
$B = Dec($HB)
GUICtrlSetData($hex_input, $farbehtml)
GUICtrlSetData($RGB_R, $R)
GUICtrlSetData($RGB_G, $G)
GUICtrlSetData($RGB_B, $B)
GUICtrlSetData($Proz_R, Round($R / 255 * 100, 1))
GUICtrlSetData($Proz_G, Round($G / 255 * 100, 1))
GUICtrlSetData($Proz_B, Round($B / 255 * 100, 1))
EndIf
$farbebackup = $farbe
EndIf
Sleep(25)
WEnd
Func _Mark()
$on = False
HotKeySet("{Enter}")
GUICtrlSetState($start, 64)
GUICtrlSetData($start, $title)
GUICtrlSetData($verlauf, $R & " " & $G & " " & $B)
IniWrite($PipetteTXT, $R & " " & $G & " " & $B, "HexHTML", $farbehtml)
IniWrite($PipetteTXT, $R & " " & $G & " " & $B, "HexVorschau", $farbedarstellung)
IniWrite($PipetteTXT, $R & " " & $G & " " & $B, "R", $R)
IniWrite($PipetteTXT, $R & " " & $G & " " & $B, "G", $G)
IniWrite($PipetteTXT, $R & " " & $G & " " & $B, "B", $B)
EndFunc ;==>_Mark
; Ende
[/autoit]
Schöne Feiertage ! ![]()