Moin Leute,
Ziel ist es, mono Kamerabilder (~ 4000x3000 Pixel, 8 BPP) live darzustellen, zu zoomen, in der Zoomdarstellung zu scrollen und bei Zoomwechsel die Bildmitte zu erhalten.
Statt der Kamera habe ich zwei entsprechend große 8-BPP-Bitmaps (sehr groß!) eingefügt, das Livebild wird über einen Timer realisiert.
Zoom 0 bedeutet, dass das Bild im SizeMode = Zoom als Vollbild dargestellt wird.
Zoom 1-3 bedeutet, dass das Bild 1x1, 2x2, 3x3 Bildpixel pro Kamerapixel dargestellt wird. Das jeweilig gezoomte Bild wird berechnet und angezeigt.
Die Anzeige erfolgt in einer eigenen PictureBox-Klasse, die in einem scrollable Panel eingebettet ist,.
Alles funktioniert gut, so lange nicht in einer Zoomstufe gescdrollt und dann Zoom auf 0 gestellt wird.
Hier wird das Bild irgendwo außerhalb des Scrollbereiches dargestellt, und es ist mir noch nicht gelungen, dies wieder einzufangen.
Als Arbeits-Drumherum wird der Zoom-Dialog geschlossen und wieder erstellt.
Die zentrale Routine ist
Es wäre schön, wenn jemand findet, woran ich noch nicht gedacht habe.
=======
Zum Nachvollziehen fügt zwei (unterschiedliche) gleichgroße Mono-Bilder ein.
Ziel ist es, mono Kamerabilder (~ 4000x3000 Pixel, 8 BPP) live darzustellen, zu zoomen, in der Zoomdarstellung zu scrollen und bei Zoomwechsel die Bildmitte zu erhalten.
Statt der Kamera habe ich zwei entsprechend große 8-BPP-Bitmaps (sehr groß!) eingefügt, das Livebild wird über einen Timer realisiert.
Zoom 0 bedeutet, dass das Bild im SizeMode = Zoom als Vollbild dargestellt wird.
Zoom 1-3 bedeutet, dass das Bild 1x1, 2x2, 3x3 Bildpixel pro Kamerapixel dargestellt wird. Das jeweilig gezoomte Bild wird berechnet und angezeigt.
Die Anzeige erfolgt in einer eigenen PictureBox-Klasse, die in einem scrollable Panel eingebettet ist,.
Alles funktioniert gut, so lange nicht in einer Zoomstufe gescdrollt und dann Zoom auf 0 gestellt wird.
Hier wird das Bild irgendwo außerhalb des Scrollbereiches dargestellt, und es ist mir noch nicht gelungen, dies wieder einzufangen.
Als Arbeits-Drumherum wird der Zoom-Dialog geschlossen und wieder erstellt.
Die zentrale Routine ist
DlgCameraLive.CreateZoomImage()
.Es wäre schön, wenn jemand findet, woran ich noch nicht gedacht habe.
=======
Zum Nachvollziehen fügt zwei (unterschiedliche) gleichgroße Mono-Bilder ein.
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ () aus folgendem Grund: Ich habe die riesigen Bilder aus dem Projekt rausgenommen.