Grafikausgabe für Anfänger. Brauche Rat.



  • Hallo,

    vorweg: ich beherrsche C/C++ noch nicht besonders gut.

    Ich habe unter Linux ein C++-Programm geschrieben, das mir aus einer Wave-Datei ein Frequenzspektrum berechnet (mittels fftw). D.h. ich habe ein double-Array mit den Ergebnissen, welches ich momentan in eine Textdatei ausgebe und per gnuplot in Grafik umsetze. Ich möchte nun, dass das Programm das ganz allein macht. Es soll also ein Fenster anzeigen, und darin sagen wir 1024 vertikale Linien, deren Länge den Ergebniswerten der FFT entspricht, zeichnen. Später soll das Programm vielleicht noch kontinuierlich von einer "Livequelle" rechnen und zeichnen.

    Ich habe ein bischen rumgesucht wie man das macht unter Linux mit c++ und bin jetzt völlig verwirrt. Es scheint 1000 möglichkeiten zu geben Striche auf den Bildschirm zu bekommen. Ein abgebrochenes gtkmm-cairo-Tutorial später habe ich mich dazu entschlossen, hier vorsichtig anzufragen womit man denn am besten anfängt 🙄

    Also, falls jemand nen Tipp hat: her damit. 😕

    mfg JC



  • Also falls das mit Linux nicht klappt, empfehle ich Dir bei Windows in deinem Fall die WinAPI.
    http://www.henkessoft.de/C++/WinAPI/WinAPI_GDI/WinAPI_7_GDI.htm



  • träume ich? 😕
    wurde hier eben einem von Linux abgeraten und stattdessen vorgeschlagen auf Windows umzusteigen? 🤡 😃 😃 *rofl*



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Linux/Unix verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Andrey schrieb:

    träume ich? 😕
    wurde hier eben einem von Linux abgeraten und stattdessen vorgeschlagen auf Windows umzusteigen? 🤡 😃 😃 *rofl*

    was in dem fall (pixelgrafik ausgeben) sicher nicht angebracht ist.



  • Tjoa... was kann man empfehlen???

    Also Grundsätzlich geht das wirklich auf 1000 verschieden Arten.
    Du kannst direkt die XLib ansprechen (nicht zu empfehlen).
    Oder halt Toolkits, wie wxWidgets, GTK+ (/GTKmm) oder QT verwenden.
    Oder du nimmst die SDL und schreibst deine eigenen Zeichenfunktionen, da du bei der SDL einfach nur einen Pixelzugriff aufs Fenster hast.

    Ich würde die empfehlen, dir mal QT anzuschaun. Oder auch GTK+. Die Bringen die Funktionen fürs Zeichnen von Linien und Kreisen direkt mit. Ich kenn mich nicht gut mit QT aus, aber ich glaube es ist in diesem Fall ein bisschen einfacher, als GTK+. Außerdem hast du hinterher sicherlich noch mehr davon, wenn du ein GUI Toolkit beherrscht.

    @Erhard Henkes: Mit der WinAPI zeichnen zu wollen, wer will sowas? Das sollte mit sämtlichen Toolkits einfacher funktionieren.



  • Schau dir mal GGI an, wenn du mit Cairo nicht zufrieden bist (auf AGG will ich dich dann lieber nicht verweisen).

    @Henkes
    WinAPI ist ja selbst unter Windows bescheuert...



  • Es ist nicht zwingend notwendig das Rad neu zu erfinden. Du brauchst kein neues "Plotprogramm" schreiben, sondern kannst auf sehr einfache Weise gnuplot via Library verwenden. Hierzu steht mehr auf der folgenden Seite:

    http://itp.tugraz.at/wiki/index.php/Verwendung_von_gnuplot_i#Einbinden_der_Library

    Grüße
    Martin



  • @lucky_tux
    genial! Danke. 👍

    Ich werde mich bestimmt demnächst mal mit GTK beschäftigen, aber fürs Erste erfüllt das genau meine Anforderungen.



  • Ich finde, noch einfacher geht es, wenn GNUPlot als Pipe aufgerufen wird, wie hier im Forum beschrieben.


Anmelden zum Antworten