Hallo!
Wie kann ich denn bitte einen per Print gemachten Screenshot speichern als PNG?
Und wie kann man wenn man zwei Monitore hat steuern von welchem Monitor der Screenshot gemacht werden soll ggf. auch von beiden?
Kennt vllt. jemand eine Script das so ähnlich arbeitet wie das Snipping Tool von Windows 7? Also so das man mit der Maus nen Rahmen ziehen kann und dann nur diesen ausschnitt verwenden?
Für Hilfe bin ich, wie immer, sehr Dankbar!!!
MfG
fump
Screenshot speichern als png wie geht das?
Started by
fump2000
, Nov 05 2012 04:00 PM
7 replies to this topic
#1
-
Posted 05 November 2012 - 04:00 PM
Mit GDIplus geht das wunderbar: http://www.autohotke...ary-145-by-tic/
;requries GDIp in \Lib\Gdip.ahk #Include <Gdip> file:= A_ScriptDir "\screen.jpg" nl:=100 nt:=100 nw:=200 nh:=200 pToken:=Gdip_Startup() pBitmap:=Gdip_BitmapFromScreen(nL "|" nT "|" nW "|" nH) Gdip_SaveBitmapToFile(pBitmap, file, 100) Gdip_Shutdown(pToken)Quelle
#2
-
Posted 05 November 2012 - 04:46 PM
Das EN-Forum is ja ne echte Schatzgrube!
#3
-
Posted 05 November 2012 - 10:24 PM
Find the recent autohotkey version here: ahkscript.org
Hi IsNull,
danke für deine Antwort! Die GDI Lib ist echt super. Damit kann ich im Bildbereich ja genau das machen was ich will.
hier mein Code unter Verwendung des Codes aus der Quelle:
Kann man ein solch gespeichertes Bild per Chat versenden? Ich habe hier schonmal ein Script gesehen das einen Chat bietet.
Hintergund ist: Unser Mail-System konnte mal ScreenSnippets machen und per internem chat versenden. Dies war immer recht nützlich. Leider ist seit einem Lizenz upgrade diese Möglichkeit nicht mehr gegeben. Daher möchte ich gerne in mein Tool welches die meisten Kollegen nutzen eine solche Funktion einbauen. Keinen Chat, sondern nur das versenden von Bildern. Hast Du da ne Idee zu?
MfG
fump
danke für deine Antwort! Die GDI Lib ist echt super. Damit kann ich im Bildbereich ja genau das machen was ich will.
hier mein Code unter Verwendung des Codes aus der Quelle:
#SingleInstance, Force #NoEnv SetBatchLines, -1 #Include, Gdip.ahk w:: ; Nur Fenster Cpature ;WinGetActiveStats,titel,w,h,x,y WinGetPos,x,y,w,h,A MakeCapture(x,y,w,h) Return s:: ; Kompletter Screen x:= 0 y:= 0 w:= A_ScreenWidth h:= A_ScreenHeight MakeCapture(x,y,w,h) Return ^m:: ; Multimonitor 1 SysGet, Mon1, Monitor, 1 x:= Mon1Left y:= Mon1Top w:= Mon1Right h:= Mon1Bottom MakeCapture(x,y,w,h) Return !m:: ; Multimonitor 2 SysGet, Mon2, Monitor, 2 x:= Mon2Left y:= Mon2Top w:= Mon2Right h:= Mon2Bottom MakeCapture(x,y,w,h) Return MakeCapture(x,y,w,h) { file:= A_ScriptDir "\" "screenshot" "-" A_Now ".jpg" nl:= x nt:= y nw:= w nh:= h pToken:=Gdip_Startup() pBitmap:=Gdip_BitmapFromScreen(nl "|" nt "|" nw "|" nh) Gdip_SaveBitmapToFile(pBitmap, file, 75) Gdip_Shutdown(pToken) } ESC::ExitApp
Kann man ein solch gespeichertes Bild per Chat versenden? Ich habe hier schonmal ein Script gesehen das einen Chat bietet.
Hintergund ist: Unser Mail-System konnte mal ScreenSnippets machen und per internem chat versenden. Dies war immer recht nützlich. Leider ist seit einem Lizenz upgrade diese Möglichkeit nicht mehr gegeben. Daher möchte ich gerne in mein Tool welches die meisten Kollegen nutzen eine solche Funktion einbauen. Keinen Chat, sondern nur das versenden von Bildern. Hast Du da ne Idee zu?
MfG
fump
#4
-
Posted 05 November 2012 - 10:47 PM
Hiermit kann man einen Bereich auswählen:
Fragen dazu:
1. Wie kann man verhbindern das der Klick (zum ausslösen von KeyWait) zwar den KeyWait auslöst aber nicht wirklich gesetzt wird. So das ein dahinterliegendes Programm durch den Klick nicht aktiviert wird? geht sowas?
2. Wie kann man einen Rahmen zeichnen lassen? Ein einfaches rotes Quadrat würde schon reichen...
MfG
fump
x:: ; Bereich mit zwei Klicks bestimmen Tooltip,Koordinaten A anklicken KeyWait, LButton, D MouseGetPos,MouseX ,MouseY sleep, 200 Tooltip,Koordinaten B anklicken KeyWait, LButton, D MouseGetPos,MouseW ,MouseH Tooltip x:= MouseX y:= MouseY w:= MouseW-MouseX h:= MouseH-MouseY MakeCapture(x,y,w,h) Return
Fragen dazu:
1. Wie kann man verhbindern das der Klick (zum ausslösen von KeyWait) zwar den KeyWait auslöst aber nicht wirklich gesetzt wird. So das ein dahinterliegendes Programm durch den Klick nicht aktiviert wird? geht sowas?
2. Wie kann man einen Rahmen zeichnen lassen? Ein einfaches rotes Quadrat würde schon reichen...
MfG
fump
#5
-
Posted 05 November 2012 - 11:15 PM
Beim 2. Monitor bekomme ich Negativwerte weil ich den 2. Monitor Links neben dem Hauptmonitor stehen habe.
Kann man das umstellen das auch mit solchen Werten ein Screenshot gespeichert werden kann?
EDIT:
Eigentlich müsste man ja mit Gdip_BitmapFromScreen(Screen=0, Raster="") wenn man bei Screen 1 oder 2 angibt den Screenshot von Monitor 1 oder 2 machen können... Aber egal ob ich 1 oder 2 setze ich bekomm immer ein Bild von beiden...
Warum?
Kann man das umstellen das auch mit solchen Werten ein Screenshot gespeichert werden kann?
EDIT:
Eigentlich müsste man ja mit Gdip_BitmapFromScreen(Screen=0, Raster="") wenn man bei Screen 1 oder 2 angibt den Screenshot von Monitor 1 oder 2 machen können... Aber egal ob ich 1 oder 2 setze ich bekomm immer ein Bild von beiden...
Warum?
Edited by fump2000, 06 November 2012 - 10:27 AM.
#6
-
Posted 06 November 2012 - 09:00 AM
Kann mir jemand die letzte Frage beantworten? Die Funktion Gdip_BitmapFromScreen(Screen=) sollte bei Wert = 1 einen Screenshot von Monitor 1 anfertigen. Bei Wert = 2 dann von Monitor 2. Aber bei beiden wird ein Screenshot vom kompletten Bereich also von beiden Monitoren gemacht.
#7
-
Posted 07 November 2012 - 08:42 AM
Ich kann machen was ich will... ich schaffs nicht die Funktion zum korrekten handeln zu bewegen.
#8
-
Posted 08 November 2012 - 03:27 PM