vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: transparente Linie zeichnen 
Autor: Manfred X
Datum: 24.10.10 05:40

Hallo!

So richtig habe ich es nicht verstanden.
(Übermalen? Nachmalen? Transparente Pictureboxen?)

Soweit ich verstanden habe, berechnest Du über Parameter eine
Reihe von Kurven und stellst sie am Bildschirm dar.
Der Benutzer soll dann eine der Kurven mit der Maus markieren,
verschieben oder ihre Parameter ändern können.

Dazu mal eine Idee:

Die Kurven (bzw. Kurvenabschnitte) solltest Du in einem
Graphiks-Pfad aufbewahren (z.B. jeweils AddCurve-Methode
mit der aus den Parametern berechneten Punkteserie - diese
Methode verwendet einen punktgenauen Spline, so dass relativ
wenige Stützpunkte in den meisten Fällen bereits ausreichen).

Wenn der Benutzer Kurvenabschnitte bearbeiten können soll, mußt
Du die Kurve stückweise im Graphikpfad definieren.

Für die Dialog-Bearbeitung verwendest Du zwei Bitmap-Objekte,
denen jeweils ein Graphics-Objekt zugeordnet ist. Die Größe der
Bitmaps ergibt sich aus der Größe der Picturebox.
In eine Bitmap werden alle inaktiven Kurven gezeichnet (gpath) und
die Bitmap wird der BackgroundImage-Eigenschaft der Box zugewiesen.
Die zweite Bitmap erhält eine transparente Arbeitsfläche
(Graphics-Nethode: Clear, transparente Farbe). In diese Bitmap
wird die aktuell vom Benutzer gewählte Kurve gezeichnet (zweiter
gPath) und die Bitmap wird der Image-Eigenschaft der Box zugewiesen.

Für die schnelle Verschiebung, Reskalierung oder Drehung der Kurve
stehen im Graphics-Objekt Methoden wie TranslateTransform,
ScaleTransform, RotateTransform zur Verfügung (d.h. die Stützpunkte
der Kurve müssen während der Verschiebung nicht per Code neu berechnet
werden.) Nur bei Änderung der Kurvenparameter ist eine Stützpunkte-
Berechnung erforderlich.

Die Bitmap wird bei Aktualisierung nicht "übermalt", sondern gelöscht
und der aktuelle Graphikpfad wird durch die aktuellen Skalierungsmatrizen
komplett neu gezeichnet.

Die Picturebox arbeitet mit DoubleBuffering, d.h. sie
zeichnet im Hintergrund und blittet dann auf den Schirm.

Wenn man konsequent die Graphik-Methoden einsetzt,
geht das eigentlich alles sehr schnell.

Es ist meines Wissens nicht möglich eine Picturebox so zu
"manipulieren", dass sie transparent werden kann - und es
ist wohl nicht notwendig. Ob WPF eine wesentlich schnellere
Graphik-Engine besitzt, kann ich nicht beurteilen.

MfG
Manfred

Beitrag wurde zuletzt am 24.10.10 um 05:41:20 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
transprarente Linie zeichnen4.097Majuz21.10.10 20:17
Re: transprarente Linie zeichnen2.888Christoph197221.10.10 21:27
Re: transprarente Linie zeichnen2.906Manfred X22.10.10 08:54
Re: transprarente Linie zeichnen2.929Majuz23.10.10 21:02
Re: transparente Linie zeichnen2.923Manfred X24.10.10 05:40
Re: transparente Linie zeichnen2.824Christoph197224.10.10 09:15
Re: transparente Linie zeichnen3.099Snoopy24.10.10 11:01
Re: transparente Linie zeichnen2.810Christoph197224.10.10 11:04
Re: transparente Linie zeichnen3.127Majuz24.10.10 13:52
Re: transprarente Linie zeichnen2.834Christoph197224.10.10 09:05
Re: transprarente Linie zeichnen2.826Majuz24.10.10 13:59
Re: transprarente Linie zeichnen2.826Christoph197224.10.10 20:57
Re: transprarente Linie zeichnen2.774Majuz25.10.10 00:00
Re: transprarente Linie zeichnen2.783Christoph197225.10.10 06:37
Re: transprarente Linie zeichnen2.828Majuz26.10.10 23:07
Re: transprarente Linie zeichnen2.832Christoph197227.10.10 06:44
Re: transprarente Linie zeichnen2.798Majuz27.10.10 20:07
Re: transprarente Linie zeichnen2.756Christoph197227.10.10 20:53
Re: transprarente Linie zeichnen2.947Majuz27.10.10 21:04
Re: transprarente Linie zeichnen2.801Manfred X28.10.10 08:35

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel