C ++ Bild erstellen

8

Ich habe eine Weile nicht in C ++ programmiert, und jetzt muss ich eine einfache Sache schreiben, aber es macht mich verrückt.

Ich muss eine Bitmap aus einer Tabelle von Farben erstellen: char image[200][200][3];

Erste Koordinate ist Breite, zweite Höhe, dritte Farben: RGB. Wie man es macht?

Danke für jede Hilfe. Adam

    
Adam 07.12.2009, 22:25
quelle

5 Antworten

13

Ich bin sicher, dass Sie Ссылка bereits überprüft haben.

Mit diesen Informationen können wir einen schnellen BMP schreiben mit:

%Vor%

Wenn das Einrichten der Header ein Problem ist, lassen Sie es uns wissen.

Bearbeiten: Ich habe vergessen, BMP-Dateien erwarten BGR anstelle von RGB, ich habe den Code aktualisiert (überrascht, dass niemand ihn gefangen hat).

    
Ron Warholic 07.12.2009, 22:34
quelle
3

Ich würde ImageMagick , eine umfassende Bibliothek usw. empfehlen.

    
dagoof 07.12.2009 22:35
quelle
0

Ich würde zuerst versuchen, herauszufinden, wie das BMP-Dateiformat (das ist, was Sie mit einer Bitmap meinen, richtig ?) ist definiert. Dann würde ich das Array in dieses Format konvertieren und es in die Datei drucken.

Wenn das eine Option ist, würde ich auch in Erwägung ziehen, eine vorhandene Bibliothek für die Erstellung von BMP-Dateien zu finden und sie einfach zu verwenden.

Tut mir leid, wenn das, was ich gesagt habe, bereits für dich offensichtlich ist, aber ich weiß nicht, auf welcher Stufe des Prozesses du feststeckst.

    
Igor Oks 07.12.2009 22:31
quelle
0

Es wäre ratsam, die Funktion als einfaches 1-dimensionales Array zu initialisieren.

ie (wobei Bytes die Anzahl der Bytes pro Pixel ist)

%Vor%

Sie können dann wie folgt auf die relevante Position im Array zugreifen

%Vor%     
Goz 07.12.2009 22:32
quelle
0

Für einfache Bildoperationen empfehle ich Cimg . Diese Bibliothek funktioniert wie ein Zauber und ist extrem einfach zu bedienen. Sie müssen lediglich eine Header-Datei in Ihren Code einfügen. Es dauerte buchstäblich weniger als 10 Minuten, um zu kompilieren und zu testen.

Wenn Sie jedoch kompliziertere Bildoperationen durchführen möchten, würde ich mit Magick ++ gehen, wie von dagoof vorgeschlagen.

>     
Jaime Ivan Cervantes 26.02.2014 18:02
quelle

Tags und Links