Abend an alle,
hab nen Problem:
Folgendes, jeder kennt wahrscheinlich Tools wie Hradcpoy, bei denen alle paar Mal Screenshot machen die Meldung kommt, ja Trinkgeld blablabla usw. Diese Meldung nervt mich mittlerweile, deswegen hab ich mir überlegt, mhmm, kann doch nicht so schwierig sein und siehe in der Tat es geht:
Hab jetzt ein Script, dass wenn man DRUCK drückt einen den Bereich auswählen lässt den man haben will (Aktives Fenster und kompletten Screen brauch ich nie ) und diesen dann als JPEG mit bester Quali abspeichert.
Bei diesem per Maus auswählen, will ich, dass da etwas wie ein Rahmen um den momentanen Bereich angezeigt wird, am besten farblich gut kenntlich (rosa?? ). Sowas wie bei Windows wenn man etwas markiert, da ist ja auch so ein Rahmen. WIe geht das?
Skript ist im Spoiler.
(fortlaufende Zahlen für geschossene Bilder, Gui etc. kommt alles noch sobald ich Zeit habe *grins*)
Danke schonmal fürs Skript lesen und helfen.
Gruß und einen schönen Abend noch bzw. gute Nacht (bin hundemüde)
Stormy
Spoiler anzeigen
Opt("TrayIconDebug",1)
;~ #NoTrayIcon
#include <Screencapture.au3>
Opt("MouseCoordMode",1)
;diverse Einstellungen:
HotKeySet("{PRINTSCREEN}","_screen")
$cursor = True ;ich mags mit
$verz = "D:\Eigene Dateien\Eigene Bilder\selfhc\"
$filename = "pic#00.jpeg"
While 1
sleep(150)
WEnd
Func _screen() ;bestimmter Bereich als JPEG mit Quali 100 abspeichern
$dll = DllOpen("user32.dll")
;während linke Maustaste gedrückt
;bestimmt Startpunkt
While 1
If _IsPressed("01",$dll) Then
$p1 = MouseGetPos()
ExitLoop
EndIf
WEnd
While 1
sleep(150) ;ganz wichtig ist natürlich schlafen
$p2 = MouseGetPos()
If $p1[0] > $p2[0] Then
$width = $p1[0] - $p2[0] ;für Rahmen
$right = $p1[0] ;für screencapture
$left = $p2[0] ;für screencapture & Rahmen
Else
$width = $p2[0] - $p1[0]
$right = $p2[0] ;für screencapture
$left = $p1[0] ;für screencapture & Rahmen
EndIf
If $p1[1] > $p2[1] Then
$height = $p1[1] - $p2[1] ;für Rahmen
$bottom = $p1[1] ;für screencapture
$top = $p2[1] ;für screencapture & Rahmen
Else
$height = $p2[1] - $p1[1] ;für Rahmen
$bottom = $p2[1] ;für screencapture
$top = $p1[1] ;für screencapture & Rahmen
EndIf
;hier noch was reinbauen, das mir ein Rechteck, eine Markierung sprich einen Rahmen
;um den momentanen ausgewählten Bereich gibt, so wie wenn ihr halt mir Windows was markiert
;dieser Rahmen mit den Punkten
;sobald losgelassen...
If Not _IsPressed("01",$dll) Then ExitLoop
WEnd
DllClose($dll)
_ScreenCapture_Capture($verz & $filename,$left,$top,$right,$bottom,$cursor)
EndFunc