C++: Convert text-Datei von ganzen zahlen in ein bitmap-Bild-Datei im BMP-format

Ich habe eine text-Datei gespeichert, die durch eine matrix-Bibliothek mit 2D-matrix als solche:

1 0 0 
6 0 4
0 1 1

Wobei jede Zahl ist vertreten mit einem farbigen pixel. Ich bin auf der Suche nach einen Einblick, wie würde ich gehen über die Lösung des Problems. Wenn noch mehr Informationen benötigt werden, zögern Sie nicht zu Fragen.

EDIT: ein Weiterer Ansatz, den ich versucht habe ist: fwrite(&intmatrix, size,1, bmp_ptr); wo ich den pass in der matrix Zeiger, die nicht scheinen, um die Ausgabe lesbarer BMP-Datei. Der Wert von size ist die rows*cols natürlich, und die Art der matrix ist arma::Mat<int> was ist eine matrix aus dem Gürteltier Lineare Algebra-Bibliothek.

EDIT II: Lesen diese angegeben, dass meine Größe sollte wohl rows*cols*4 gegeben, die die Größe der Zeilen, wenn ich mich nicht Irre, alle Anweisungen zu diesem Punkt wäre toll.

  • Ich schlage vor, Sie schauen in diesem Zusammenhang Frage: Schreiben BMP-Bild in reinem c/c++, ohne andere Bibliotheken...
  • versucht, immer einige image-format-Bibliothek und Fütterung die einzelnen Pixel?
  • Danke @EitanT, dieser code ist völlig un-kommentiert jedoch, und im Anschluss an die Programmierer die Logik erweist sich als mühsam. Ich arbeite meinen Weg durch, obwohl es, danke.
  • Es ist mir nicht klar, was Sie haben und was Sie zu tun versuchen. Könnten Sie bitte klären Sie die Frage?
  • Natürlich, im Grunde bin ich versucht, zu konvertieren, ein zweidimensionales array (oder matrix) geschrieben werden, in ein bitmap-Bild. Etwas identisch im Konzept, was getan wird hier cplusplus.com/forum/beginner/12848 aber die Werte unbedingt Lesen aus einer text-Datei.
  • Lassen Sie mich wissen, wenn weitere Klärung erforderlich ist.
  • Dies versuchen. fwrite(intmatrix.memptr(),size,1,bmp_ptr); die Objekte der Klasse sind in der Regel keine direkten Puffer zu den Daten, die Sie darstellen.

InformationsquelleAutor Louis93 | 2012-08-30
Schreibe einen Kommentar