Hallo zusammen,
ich überlege gerade wie ich eine kleine CAD Anwendung schreiben würde. Dafür würde ich gerne als "Rahmen" wxPython nutzen und dann eine Zeichenebene dort einfügen. Da ich weiß, dass die mitgelieferten Funktionen zum Zeichnen wahrscheinlich schnell am Ende sind (z.B. beim zoomen, aber spätestens bei 3D), hatte ich überlegt, dass man besser SDL oder das darauf basierende pygame nimmt.
Bevor ich aber den falschen Weg einschlage wollte ich zum einen fragen, wie ihr so etwas realisieren würde und zum anderen wie man das dann in wxPython einbindet.
schnelle Zeichenfläche (z.B. durch SDL) in wxPython
the more they change the more they stay the same
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
mmh,
ganz schlüssig bin ich mir jetzt noch nicht. Vor allem weil ich eventuell auch noch ein bissen 3D zeichnen will (später zumindest, vorwiegend 2D).
Zu pycairo müsste ich erstmal testen, wie es sich bei Funktionen wie Zoomen oder Verschieben verhält. Ich habe bis jetzt nur statische Codeschnippsel gefunden bis auf http://paste.pocoo.org/show/90972/ . Gut wäre etwas vergleichbares zu sehen (mit Zoomen, Verschieben, Elementauswahl usw.).
Danke aber schon mal soweit
ganz schlüssig bin ich mir jetzt noch nicht. Vor allem weil ich eventuell auch noch ein bissen 3D zeichnen will (später zumindest, vorwiegend 2D).
Zu pycairo müsste ich erstmal testen, wie es sich bei Funktionen wie Zoomen oder Verschieben verhält. Ich habe bis jetzt nur statische Codeschnippsel gefunden bis auf http://paste.pocoo.org/show/90972/ . Gut wäre etwas vergleichbares zu sehen (mit Zoomen, Verschieben, Elementauswahl usw.).
Danke aber schon mal soweit
Zu Cairo sind auch Beispiel in der wxPythonDemo
the more they change the more they stay the same
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
wxPython hat auch ein GLCanvas zum Einbinden von PyOpenGL. Ich hab's noch nie benutzt, aber ich wuerd's mir auf jeden Fall mal anschauen.
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Ich hab jetzt mal etwas mit Cairo aus probiert. Im Bild unten werden bei wx.EVT_PAINT 7600 Lines und 2601 Arcs gezeichnet. Wie man sich sicher vorstellen kann dauert es etwas bis das Bild aufgebaut ist. Zusätzlich habe ich noch wx.FULL_REPAINT_ON_RESIZE im Style des Panels, um bei Größenänderung ein angepasstes Bild zu bekommen.
Für Aktionen wie Zoomen oder Verschieben ändert sich ja grundsätzlich das dargestellt Bild nicht, gibt es eine effizientere Möglichkeit das auszunutzen? So ist mir noch zu langsam und Geschwindigkeit wäre das Hauptziel, um ein bestehendes System abzulösen.
EDIT:
Hier vielleicht nochmal ein kleineres Beispiel
Für Aktionen wie Zoomen oder Verschieben ändert sich ja grundsätzlich das dargestellt Bild nicht, gibt es eine effizientere Möglichkeit das auszunutzen? So ist mir noch zu langsam und Geschwindigkeit wäre das Hauptziel, um ein bestehendes System abzulösen.
EDIT:
Hier vielleicht nochmal ein kleineres Beispiel