Hallo,
ich würde gerne auf einer Grafik (die ich aktuell in eine Picturebox lade) einen Auswahlrahmen anzeigen den der Anwender frei skalieren kann.
Den Inhalt des Auswahlrahmens würde ich dann gerne kopieren und als neue Grafik abspeichern.
Ich habe hier im Forum die Anleitung von Progger/herbivore gefunden
Gezeichnete Objekte verschieben
Ich könnte also einen festen Rahmen über einem Bild positionieren lassen.
Aber skalierbar wird der Rahmen noch nicht.
Ich hoffe auf die Ideen/Erfahrungen der Community um ein paar Tipps zu bekommen.
Danke im Vorraus
Gruß Kunibert
Die meisten Codeprobleme liegen ursächlich zwischen Tastatur und Lehne.
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Sieht genau danach aus was ich brauche.
Schaue ich mir an.
Danke für den Tipp.
Die meisten Codeprobleme liegen ursächlich zwischen Tastatur und Lehne.
@gfoidl
Das Problem mit dem OutOfMemoryException
liegt nicht an der PictureBox
, sondern an der Art, wie du den Ausschnitt bestimmst.
Nehmen wir an, die PictureBox
zeigt ein Bild mit 16x16 Pixel gezoomt an und deine Auswahl auf dem gezoomten Bild ist (x:45,y:48,w:50,h:60) dann gibt es halt ein kleines Problem diesen Auschnitt aus einem 16x16 Pixel großen Bild zu holen.
Es muss also eine Umrechnung der Auswahl-Koordinaten von der PictureBox
zum Image
erfolgen in Abhängigkeit des gewählten SizeMode
.
Wenn man das berücksichtigt, dann wird das Image
, was man der PictureBox
zuweist auch wieder korrekt nach dem SizeMode
angezeigt.
PS: Das mit der OutOfMemoryException
ist auch so dokumentiert Bitmap.Clone
Hallo Sir Rufo,
danke für den Hinweis.
Ich hab den Code vom verlinkten Artikel aber seit 2008 nicht mehr angerührt, daher ist dieser Bug noch als Feature drin. Mit deinem Hinweis hier sollte der OT aber eine brauchbare Lösung bekommen.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"