Laden...

Programmtechnisch Screenshots erstellen: Bereich: Einzelnes Control

Erstellt von ViperNeo vor 15 Jahren Letzter Beitrag vor 15 Jahren 970 Views
V
ViperNeo Themenstarter:in
352 Beiträge seit 2008
vor 15 Jahren
Programmtechnisch Screenshots erstellen: Bereich: Einzelnes Control

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

L
770 Beiträge seit 2006
vor 15 Jahren

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

T
708 Beiträge seit 2008
vor 15 Jahren

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

J
3.331 Beiträge seit 2006
vor 15 Jahren

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