bmp datei kopieren
-
hallo alle zusammen
ich würde gerne eine bmp Datei mit fstreams kopieren indem ich sie teilweise einlese und schreibe.
Jedoch funktioniert es nur bei kleineren Bildern (300 x 308).
Sind die Bilder größer (1280 x 1024) fehlt der obere Teil vom Bild.
wieso ist das so und wie kann ich mein Programm verbessern damit es auch bei großen Bildern funktioniert.hier mal der code mit dem ich es probiert habe
#include <fstream> using namespace std; int main() { int bild_s = 3932214 /2; //datei größe /2 klein: 46934 groß: 3932214 char Path[] = "bild.bmp"; char Path2[] = "bild2.bmp"; char buf[bild_s]; ifstream f1(Path); ofstream f2(Path2); f1.read(buf, bild_s); f2.write(buf, bild_s); f1.read(buf, bild_s); f2.write(buf, bild_s); f2.close(); f1.close(); return 0; }würde mich über Antworten freuen

mfg Braineater
-
Du solltest binär lesen. Dazu übergibst du bei
open()oder dem Konstruktor als zweites Argument das Flagstd::ios_base::binary.
-
Perfekt!

Es funktioniert.danke für die schnelle hilfe.
