Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
971 Beiträge
 
Delphi 2007 Professional
 
#2

AW: JPEG dekomprimieren mit TurboJPEG

  Alt 6. Jun 2021, 16:43
Das JPEG wird (glaube ich) korrekt dekomprimiert und steht in einam TBytes-Array bereit. Nur wie bekomme ich dieses Array nun in eine TBitmap-Instanz? Da stehe ich auf dem Schlauch. Ich habe es mit Scanline versucht, es wird auch etwas erzeugt, nur leider nicht das ursprüngliche Bild.

Scanline ist schon korrekt, Ausgabeformat RGBA ist erzeugt auch 32 Bit
Allerdings sind die Zeilen von TBitmap normalerweise umgedreht gespeichert, d.h. die Scanline[0] ist die unterste Zeile. D.h. ...
Delphi-Quellcode:
      for i := 0 to Height - 1 do
        Move(OutBuf[Width*i], Bitmap.Scanline[i]^, 4 * Width);
... erzeugt das Bild auf den Kopf gestellt.

Da Du nicht schreibst, wieso Du glaubst, dass das dekomprimierte Bild im Buffer korrekt ist und auch nicht, was an dem erzeugten Bild falsch ist, kann ich dazu nicht mehr sagen.

Ach ja: TBitmap speichert die Pixel nicht als RGBA sondern als GBRA, wenn ich das richtig im Kopf habe. D.h. die Farben dürften falsch sein.
Thomas Mueller
  Mit Zitat antworten Zitat