Forum: PC-Programmierung C/C++ Bild aus Array


von Kai (Gast)


Lesenswert?

Hallo,
ich habe ein Programm geschrieben welches einen farbigen 2D Plot 
erzeugt. Dieser wird in einem 2D Byte Array in Form von RGB Daten 
gespeichert. Wie kann ich dieses Bild möglichst schnelle auf den 
Bildschirm bringen? SetPixel funktioniert ist aber sehr langsam. Leider 
habe ich überhaupt keinen Ansatz.

Grüße Kai

von Karl H. (kbuchegg)


Lesenswert?

Das was du hast, nennt sich im allgemeinen eine 'Bitmap'.
Dein Framework bietet dir sicherlich Funktionen an, mit der du Bitmaps 
auf den Schirm knallen kannst.

von Peter II (Gast)


Lesenswert?

Ohne die Umgebung zu kennen wird die keiner Helfen können. Unter Windows 
kann man direkt ein Image Objekt von verschieden Array Formaten 
erzeugen.

BMP ist ja auch nichts anderes. Eventuell kannst du ja einfach einen BMP 
Header davor schreiben und es mit einer Image Funktion anzeigen.

von Mark B. (markbrandis)


Lesenswert?

Das hängt davon ab, was Du für Deine grafische Benutzeroberfläche 
verwendest:

WinAPI?
MFC?
GTK?
Qt?
WxWidgets?
Windows Forms?

Etwas anderes?

von Rolf Magnus (Gast)


Lesenswert?

Karl Heinz schrieb:
> Das was du hast, nennt sich im allgemeinen eine 'Bitmap'.

Das ist nur der in Microsoft-Kreisen häufig zu lesende, aber eigentlich 
falsche Begriff. Eine Bitmap zeichnet aus, daß sie pro Element genau ein 
Bit hat (daher der Name).

von TriHexagon (Gast)


Lesenswert?

SDL. Fenster erstellen und Bild darstellen -> SDL_CreateSurfaceFromRGB.

von Sabine W. (sabine_w)


Lesenswert?

Qt ist auch nicht sonderlich kompliziert
1
    QLabel myLabel;
2
    myLabel.setPixmap(
3
        QPixmap::fromImage(
4
            QImage(
5
                (unsigned char *) imageData,
6
                 image_width,
7
                 image_height,
8
                 QImage::Format_RGB32
9
            )
10
        )
11
    );
12
13
    myLabel.show()

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.