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
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.
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.
Das hängt davon ab, was Du für Deine grafische Benutzeroberfläche verwendest: WinAPI? MFC? GTK? Qt? WxWidgets? Windows Forms? Etwas anderes?
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).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.