Grafikprogrammierung

Gast #198853
Lesenswert?
• ▲
▼
Hallo!

Das ganze hat wenig mit dem Thema dieser Homepage zu tun. Aber hier
laufen so viele kompetente Leute rum, dass ich doch mal frage.

Ich programmiere gerade ein Softwareprogramm (in VisualC# - tut aber
nichts zur Sache). Dieses soll (wie Corel Draw) Vektorgrafiken
bearbeiten können. Ich erstelle nun also eine Oberfläche, auf die
sämtliche Objekte mittels GDI+ gezeichnet werden. Die Objekte werden
zuerst auf ein virtuelles Bitmap gezeichnet und dieses wird
anschließend auf das Picture auf dem Bildschirm geblittet.

Wenn ich jetzt ein Objekt bewegen will, muss das Bild ja recht oft
upgedatet werden. Zoomt man nun noch ein bisschen, wird das virtuelle
Bitmap schnell so groß, dass es beim Blitten mehrere Sekunden bruacht.
Das ist natürlich viel zu lange und darft nicht sein.

Klar - ich könnte nun die Zoomfunktion einschränken - aber das ist ja
nicht Sinn der Sache.

Hat jemand eine Idee, wie das z.B. in Corel Draw gelöst wird. Oder wie
man das anders lösen könnte. Das Problem liegt nicht darin, dass die
Objekte alle neu gezeichnet werden müssen, sondern ausschließlich
darin, dass das virtuelle Bitmap auf die PictureBox gezeichnet wird
...

Wenn jemandem dazu was einfällt wäre ich sehr dankbar!

Viele Grüße
Steffen

PS: Sollte ich etwas nicht genau genug erklärt haben, bitte einfach
nachfragen!

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.