Hallo.
Da ich es gerne farbig mag, arbeite ich viel mit Farben. Und so wirklich habe ich den dreh noch nicht raus genau die richtige Farbe zu bestimmen.
Vielleicht geht es nicht nur mir so.
Also hab ich mir mal schnell ein kleines Tool geschrieben, womit man durch ein Mouseclick die Farbe der aktuellen Mouse-Position herauskriegt.
Diese Farbe wird mit hexadezimalen Zahlen dargestellt. Damit man es nicht abschreiben muss, habe ich eine Funktion geschrieben, womit man die Farbe in die Zwischenlage ablegen kann. Dabei wird leider eine Ini-Datei erstellt.
Aber ihr könnt es euch mal selber anschauen.
EDIT (30.10.2011): Beide Scripte funktionieren nicht einwandfrei. Bitte für ein komplett funktionierendes Programm den Dateianhang "v.1.1" runterladen!
Hier ohne GUI:
Spoiler anzeigen
#include <Misc.au3>
Global $Farbe = False
IniWrite("Name.ini","Name","Name","0")
TrayTip("Bereit","Programm ist bereit. Mit Esc beenden. Mit Klicken Farbe herausbekommen", 20, 1)
[/autoit] [autoit][/autoit] [autoit]While 1
If _IsPressed("1B") Then Exit
If $Farbe = False Then
If _IsPressed("01") Then
$pos = MouseGetPos()
$pix = PixelGetColor($pos[0], $pos[1])
$text = StringFormat("%#06x\t",$pix)
TrayTip("Farbe",$text & " - Mit Eingabe eine MsgBox öffnen. Mit Delete andere Farbe herausfinden",20)
$Farbe = True
EndIf
EndIf
If $Farbe = True Then
If _IsPressed("0D") Then
IniWrite("Name.ini","Name","Name",$text)
$ini = IniRead("Name.ini","Name","Name",0)
ClipPut($ini)
$Farbe = False
EndIf
EndIf
If $Farbe = True Then
If _IsPressed("08") Then
$Farbe = False
EndIf
EndIf
WEnd
Hier mit GUI:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <Misc.au3>
Global $Farbwahl = True
[/autoit] [autoit][/autoit] [autoit]TrayTip("Bereit","Programm ist bereit. Mit Esc beenden. Mit Klicken Farbe herausbekommen", 20, 1)
[/autoit] [autoit][/autoit] [autoit]$hGUI = GUICreate("Color", 200, 200)
$hLabel = GUICtrlCreateLabel("", 10, 10, 180, 80)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$hButton1 = GUICtrlCreateButton("In Zwischenablage",80,160)
$hButton2 = GUICtrlCreateButton("Neue Farbe",10,160)
$hLabel2 = GUICtrlCreateLabel("",10,100,90,50)
GUISetState()
While 1
If _IsPressed("1B") or GUIGetMsg() = -3 Then Exit
If $Farbwahl = False then
If _IsPressed("01") Then ;Linke Maustaste
$maus = MouseGetPos()
$farbe = PixelGetColor( $maus[0], $maus[1])
GUICtrlSetBkColor($hLabel, "0x"&StringRight(Hex($farbe),6))
GUICtrlSetData($hLabel2, "0x"&StringRight(Hex($farbe),6))
$Farbwahl = True
TrayTip("Farbe","0x"&StringRight(Hex($farbe),6) & " - GUI öffnen für weitere Funktionen", 10)
EndIf
EndIf
$msg = GUIGetMsg()
If $Farbwahl = True then
Switch $msg
Case $hButton1
ClipPut("0x"&StringRight(Hex($farbe),6))
Case $hButton2
GUICtrlSetBkColor($hLabel, 0xFFFFFF)
$Farbwahl = False
EndSwitch
EndIf
WEnd
Ach ja. Mit ESC kann man das Programm beenden.
UPDATE: Stand 30.10.2011:
Habe nach langer Zeit mal wieder das Programm überarbeitet.
Es ist nun mit GUI, die Buttons sollten nun keine Bugs mehr enthalten, und man kann die Farbe direkt danach in die Zwischenablage abspeichern.
Viel Spaß. Falls es Probleme gibt, dann schickt mir einfach eine Nachricht.