Grafikdatei öffnen und Byteweise in ein Array schreiben?



  • Hallo Leute.
    Ich möchte eine Grafikdatei öffnen und in ein Array schreiben.
    Wie mache ich das? Gibt es da spezielle Funktionen für?

    MfG
    Muecke



  • Das Lesen einer Grafikdatei unterscheidet sich nicht von anderen Binärdateien. Benutze einfach die ifstream-Klasse und speichere die Bytes mit der get-Methode in ein Array oder besser Vector.



  • Was ist und wie deklariere ich einen Vektor?

    MfG
    Muecke



  • Schau bitte auf meine Homepage (s.u.) unter dynamische Arrays nach, da habe ich etwas zu vector geschrieben. Du kannst auch (wenn du die Boost-Library benutzt) die boost::array benutzen. Die sind beide sicherer gegenüber einem normalen Array und du kannst zur Laufzeit auch deren Größe bestimmen ohne mit new und delete hantieren zu müssen.



  • Ein Vektor Objekt instanziierst du so:

    #include <vector>
    
    // irgendwo im programm
    std::vector<T> vec(/*argumente*/); // T ist dabei jeder Datentyp
    

    Was ein Vektor ist, solltest du lieber in deinem C++ Buch nachlesen, da es dort bestimmt am Besten erklärt wird. Oder auch hier: http://www.kharchi.de/cppratgeber2.htm (kurze Einführung)

    Kurz gesagt: ein Vektor ist ein Container (Behälter), in dem du Daten hintereinander ablegen kannst. (ähnlich wie bei C-Arrays). Der Hauptunterschied dabei ist aber, dass bei einem Vektor die Daten auf dem Heap abgelegen werde. Für mehr Infos, lese dein Buch / Tutorial, schmeiß gogle ein oder lies den oben genannten Link.


Anmelden zum Antworten