Bilderprinttool schreiben, aber wie?



  • Meine Frage bezieht sich eher auf die Detaillösung.
    d.h. wie finde ich kann ich die Meßwerte eingrenzen und die Koordinatentransformation machen? Kennt jemand Funktionen die einem das abnehmen und kann mir vllt ein Beispiel geben, wie gesagt, ich bin ein Anfänger.

    Hat jemand vllt Erfahrung mit pngwriter?



  • Naja, die Koordinatentransformationen dürften simple Additionen und Multiplikationen sein. Vielleicht solltest du damit anfangen: ein Programm, das die Messwerte irgendwie einliest (meinetwegen auch erstmal fest eincodiert) und dann die richtigen Pixelkoordinaten ermittelt und auf der Konsole ausgibt. Das Ansteuern des pngwriters kannst du danach als zweiten Schritt vornehmen.
    Fertigen Code wird dir hier niemand vorsetzen, schließlich willst du ja selber was lernen und solltest etwas Eigeninitiative zeigen (in Form von Code, den du zum problem schon geschrieben hast).



  • Bist du auf C++ festgenagelt? Ich würde es mit JFreeChart machen
    http://www.jfree.org/jfreechart/samples.html

    Da muss man sich um Pixelschiebereien nicht kümmern.

    Ist aber wie gesagt Java. In C sollte es auch Libs geben. Zur Not nimmst du Gnuplot und rufst es als Prozess auf.



  • Ich bin auf C++ festgenagelt.

    Ich denke nicht das es bezüglich der Kotrafo mit einer Addition oder Multiplikation getan ist. Die Meßdaten sind immer in unterschiedlichen Bereichen (x und y Achse getrennt). Ich denke nicht dass es da mit hoch oder runter skalieren getan ist. Außerdem ist mir nicht ganz klar wie ich den Achsen die für den akuten Fall benötigte Skalierung beibringen soll.



  • Hi,

    also ich bin nicht so recht überzeugt davon, dass sich das Schreiben eines solchen Tools "lohnt". Da gibt es bereits eine Menge schöner "Tools&Toys", die das hervorragend können...

    Gruß,

    Simon2.



  • Ich will es aber schreiben :).

    Ich habe ne konkrete Frage zur Messwertdeklaration.

    int i;
    
    double x[i] = {12,9,13,11,8,10};              //9
     double y[i] = {7,8,6,2,3,1};                 //10
    

    Compiler schreit
    Error E2313 Messdatenplot.cpp 9: Constant expression required
    Error E2225 Messdatenplot.cpp 9: Too many initializers
    Error E2313 Messdatenplot.cpp 10: Constant expression required
    Error E2225 Messdatenplot.cpp 10: Too many initializers

    was fehlt hier noch. Habe im Netz und in den Büchern nix gescheites gefunden.



  • Arraylängen dürfen nicht mit Variablen angegeben werden, sondern müssen Compilezeit-Konstanten sein. Das ist bei i nicht der Fall.



  • und ... in einem Array vom Typ double kannst Du ein Element auch nur mit einem Wert initialisieren.

    Für mich sieht es so aus, als solltest Du Dich zunächst mal auf (viel) kleinere Aufgaben stürzen, um mit der Sprache ein wenig warm zu werden.



  • Belli schrieb:

    und ... in einem Array vom Typ double kannst Du ein Element auch nur mit einem Wert initialisieren.

    Macht er doch. Erinitialisiert die ersten 6 Werte vom x-Array mit Werten, und die ersten 6 Werte vom y-Array.



  • Ähhh ... jaaahaaa ... ich habe irgendwie übersehen, daß das Array an der Stelle ja erst angelegt wird ...


Anmelden zum Antworten