Hallo Leute,
ich habe mal eine Frage zum Thema Screenshots mit .NET
Ich habe aktuell eine Klasse geschrieben, die mir Screenshots vom gesamten Bildschirm oder vom Programmfenster zurückgibt.
Nun möchte ich versuchen den Screenshot nur auf ein Control in meiner Anwendung zu beziehen. Welche Möglichkeiten habe ich dafür?
Habe schon vieles versucht, auch das Bild danach zu beschneiden nach dem Fenster Screenshot, aber das sind keine zufriedenstellenden Lösungen.
Gibt es in der user32 eine Funktion mit der ich Controls finden kann oder so? Haben COntrols überhaupt ein Handle?
Gibt es schicke Klassen für Screenshots die so etwas vllt schon können?
Danke!
Grüße ViperNeo
Hallo,
ich habe zwar sowas noch nie gemacht, aber eventuell kannst du die SourceCodes von dem Thread drucken eines Controls so umwandeln, dass du die Controls nicht druckst, sondern dir das Image zurückliefert.
Lion
lg Lion
Mit Programmen wie z.B. ManagedSpy o.Ä. kannst du Windowshandle nach Elementen durchsuchen. Damit könntest du an die Position einen Controls kommen.
Meiner Meinung nach ist das aber mit Kanonen auf Spatzen geschossen.
Ein Screenshot tool, welches dem Benutzer mit der Maus ein Rechteck auf den Bildschirm zeichnen lässt ist imho viel komfortabler.
Eine zu 99% durchsichtige Form über den Desktop legen, auf dieser ein Rechteck zeichnen (Draw.Rectangle, MouseDown, MouseMove) und die Position des Rechtecks abbilden.
Ist kein Hexenwerk 😃
Gruß,
TriB
Hallo,
mit meiner Lösung Formular/Control drucken oder als Bitmap speichern ist das fast vollständig möglich. Die Forumssuche hätte das auch gebracht.
Jürgen