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.