c++ graphik library gesucht
c++ graphik library gesucht
ich habe an der schule gelernt zu programmieren und wir benutzen da CHAMP. das ist eine library für c++ die auf der win-api basiert und mit der man so zeichnen kann...
Nun muss ich bald eine Arbeit (ein proggy) schreiben und möchte dies unter LINUX tun. Jetzt suche ich eine Graphik Library die möglichst ähnlich ist da ich den Quelltext zT schon geschrieben habe!
Und zwar brauche ich folgende Sachen in dieser Library:
-ich kann ein Objekt CPWindow erstellen, das gibt mir ein Graphikfenster mit unsichtbarem, frei wählbarem, von der anzahl Pixel unabhängigem, 2D Koordinatensystem.
-in diesem Fenster kann ich versch Koordinatengraphiken zeichnen so zB Linien, Kreise, Pixel anfärben, usw. mit befehlen wie "window.line( x1, y1, x2, y2 );"
- Text an einer Best Koordinate Ausgeben: "window.text( x, y ) << "text" "
- Den Inhalt des Graphikfensters wieder Leeren window.clear();
- Das fenster "einfrieren" um zuerst alles Ausrechnen zu lassen und in den Buffer schreiben zu lassen bevor ich es zeichnen lasse (oder macht man das unter LINUX anders?) "window.freeze(); <code> window.redraw();"
Meine Arbeit wird dann sein ein 3D Raum darin mit hilfe von Parallelprojektion darzustellen und für diesen 3D Raum eine Vektorklasse zu schreiben. ich muss also von diesem CPWindow erben können.....
puh weiss jemand etwas oder gibts da schlichtwegs nichts ??
Nun muss ich bald eine Arbeit (ein proggy) schreiben und möchte dies unter LINUX tun. Jetzt suche ich eine Graphik Library die möglichst ähnlich ist da ich den Quelltext zT schon geschrieben habe!
Und zwar brauche ich folgende Sachen in dieser Library:
-ich kann ein Objekt CPWindow erstellen, das gibt mir ein Graphikfenster mit unsichtbarem, frei wählbarem, von der anzahl Pixel unabhängigem, 2D Koordinatensystem.
-in diesem Fenster kann ich versch Koordinatengraphiken zeichnen so zB Linien, Kreise, Pixel anfärben, usw. mit befehlen wie "window.line( x1, y1, x2, y2 );"
- Text an einer Best Koordinate Ausgeben: "window.text( x, y ) << "text" "
- Den Inhalt des Graphikfensters wieder Leeren window.clear();
- Das fenster "einfrieren" um zuerst alles Ausrechnen zu lassen und in den Buffer schreiben zu lassen bevor ich es zeichnen lasse (oder macht man das unter LINUX anders?) "window.freeze(); <code> window.redraw();"
Meine Arbeit wird dann sein ein 3D Raum darin mit hilfe von Parallelprojektion darzustellen und für diesen 3D Raum eine Vektorklasse zu schreiben. ich muss also von diesem CPWindow erben können.....
puh weiss jemand etwas oder gibts da schlichtwegs nichts ??
error - divided by 0
Ich würde dir persönlich zu WxWidgets raten, da die Cross-Platform sind und auch unter Windows laufen (natürlich musst du dein Programm nochmal unter Windows kompilieren)
Das gilt zwar auch für die anderen genannten, aber
1. finde ich Tk nicht so toll
2. ist gtk C-basiert und nicht so portabel wie wxwidgets
3. ist wxWidgets ähnlich aufgebaut wie MFC
4. ist QT unter Windows nur gegen Bezahlung in nicht freien Programmen zu haben.
FLTK scheint auch beliebt zu sein, ich weiss allerdings nicht, ob es auch ein canvas hat, ich glaube aber schon.
Das gilt zwar auch für die anderen genannten, aber
1. finde ich Tk nicht so toll
2. ist gtk C-basiert und nicht so portabel wie wxwidgets
3. ist wxWidgets ähnlich aufgebaut wie MFC
4. ist QT unter Windows nur gegen Bezahlung in nicht freien Programmen zu haben.
FLTK scheint auch beliebt zu sein, ich weiss allerdings nicht, ob es auch ein canvas hat, ich glaube aber schon.
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Das ist imo ein Nachteil. Und zwar nicht weil die MFC von Microsoft und alles von Microsoft böse ist (Tastaturen und Mäuse sinds z.B. nicht) sondern weil die MFC von Grund auf böse istJoghurt hat geschrieben:3. ist wxWidgets ähnlich aufgebaut wie MFC
Ich nehme mal an der Satz meint schon das richtige - aber erklären tut er die Sachlage von Qt unter Win32 nicht wirklich.4. ist QT unter Windows nur gegen Bezahlung in nicht freien Programmen zu haben.
Für Freie Software die Nicht kommerziell ist gibts die NC aus dem Qt-Buch (das kostet, ist aber ein sehr gutes Buch und das Geld auf jeden Fall wert).
Für Freie Software gibts den GPL-Port der auf XFree für Windows aufsetzt - Cygwin-Zeugs und so. Aber die Sache ist eher fett - Windows, darauf XFree, darauf Qt und irgendwie unsympathisch - man kann Programme nicht einfach so verteilen sondern die andernen brauchen auch XFree mit Cygwin.
Für Freie Software gibts den nativen GPL-Port - der ist aber nicht fertig (läuft aber schon ganz gut, einige Sachen fehlen einfach noch)
Für so ziemlich alles - Freie und Proprietäre, Kommerzielle und NC-Software gibts die Qt Commercial Edition - aber die kostet und zwar recht viel.
FLTK ist wirklich net imo. Sehr klein und schnell - und wenn du nur sehr wenig Funktionalität willst bzw. die eigentliche Funktionalität eines Toolkits gar nichts benötigst ist das sicher eine gute Idee.FLTK scheint auch beliebt zu sein, ich weiss allerdings nicht, ob es auch ein canvas hat, ich glaube aber schon.
Daneben gibt es auch noch FOX - von http://www.fox-toolkit.org - das ist so grundsätzlich ähnlich wie FLTK (etwa so wie sich WxWindows und Qt ähnlich sind - beides sind grosse Plattformunabhängige Toolkits) - beides sind kleine schnelle Toolkits.
Sowohl WxWidgets als auch Fox und Fltk sind LGPL - also Lizenzmässig kein Problem, da kannst du wählen was du willst.
Um ein Toolkit wirst du wohl kaum herumkommen - auch wenn du nur einen Canvas brauchst.
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
danke für eure bemühungen
werde die toolkits einmal ausprobieren.
es ist mir egal ob das zeugs auf win portierbar ist, ich will eh umsteigen und die, die die arbeit abnehmen sollen entweder den quelltext lesen oder linux installieren
wichtig ist mir vorallem auch die syntax: ich hasse so makrosprachen die zwar für anfänger einfacher sind aber die ganze logische, schöne c++ syntax zerstören....
fltk scheint aber noch interessant zu sein, jedenfalls was den beschrieb und funktionsumfang anbelangt!
werde die toolkits einmal ausprobieren.
es ist mir egal ob das zeugs auf win portierbar ist, ich will eh umsteigen und die, die die arbeit abnehmen sollen entweder den quelltext lesen oder linux installieren
wichtig ist mir vorallem auch die syntax: ich hasse so makrosprachen die zwar für anfänger einfacher sind aber die ganze logische, schöne c++ syntax zerstören....
fltk scheint aber noch interessant zu sein, jedenfalls was den beschrieb und funktionsumfang anbelangt!
error - divided by 0
Mutig! Leider bist du auf sie angewiesen, und nicht umgekehrt Ein bisschen über den Tellerrand hinausschauen wird ihnen aber vielleicht ganz gut tun.oli_f hat geschrieben:es ist mir egal ob das zeugs auf win portierbar ist, ich will eh umsteigen und die, die die arbeit abnehmen sollen entweder den quelltext lesen oder linux installieren
Stimmt:wichtig ist mir vorallem auch die syntax: ich hasse so makrosprachen die zwar für anfänger einfacher sind aber die ganze logische, schöne c++ syntax zerstören....
Code: Alles auswählen
.def("MovementPhase", (void (System::*)() )&System::MovementPhase, (void (System_Wrapper::*)())&System_Wrapper::default_MovementPhase)
.def(init< System::StarType, int, const std::string&, double, double, optional< const std::set<int,std::less<int>,std::allocator<int> >& > >())
Nicht zu vergessen die 2 Seiten Datenmüll, die ich im Moment als Warnung ausgegeben bekomme.
SCNR