Von Daten im Speicher ein Bild erstellen

Alles rund um die Programmierung mit Qt
Antworten
flownfluid
Beiträge: 80
Registriert: 6. Januar 2005 12:54

Von Daten im Speicher ein Bild erstellen

Beitrag von flownfluid »

Hallo zusammen,

ich habe im Speicher die Bilddaten folgendermassen gespeichert:

Pro Pixel 32bit:
Rotanteil Bit 0-7
Grünanteil Bit 8-15
Blauanteil Bit 16-23
Ungenützt Bit 24-31

Gibt es in QT eine Möglichkeit dies mit einem Art Schema QT zu übergeben und der liefert mir das Bild oder muss ich mühsam alle Pixel einzel Zeichnen?

vielen Dank im voraus
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ich würde ganz normal in ein QImage zeichnen, und das Datenformat dann umkodieren.
phil collins
Beiträge: 19
Registriert: 22. August 2007 17:35

Beitrag von phil collins »

Am einfachsten hast du's, wenn du dein Bit-Muster an QRgb agleichst: #AARRGGBB. Dein ungenutzter Farbkanal müsste dann am Anfang stehen und sollte immer auf 0xFF stehen, da diese Position bei QRgb der Alpha-Kanal ist.
Somit kannst du dann eine Instanz von deinem Farbtyp ganz einfach nach QRgb casten, falls der Typ nicht sowieso schon uint ist, oder lass dein Bildformat am beste gleich auf QRgb bzw. uint basieren.
Erstelle ein QImage, und übertrage die Daten pixelweise mit

Code: Alles auswählen

QImage::setPixel(int x, int y, uint index_or_rgb)
Euer Phil.
Antworten