Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

Korrekte biSizeImage?

  Alt 20. Jun 2019, 08:25
Habe wieder mal ein kleines Problem.

Vorher habe ich die Größe auf dieser weise übergeben.
Width * Height * 3

Dann habe ich aber Fehler im Bitmap.
Habe jetzt eine Lösung im Net gefunden welche die korrekt Größe liefern sollte.
Tut sie aber nicht Bild ist immer noch Fehlerhaft.

Wie ist denn nun die korrekte Formel um biSizeImage auf die korrekte Größe zu setzen.?
Das war die Lösung aus dem Net.

Delphi-Quellcode:
function ByteAlignOnWord(BitDepth: Byte; Width: Integer): DWord;
begin

  Result := (((Width * BitDepth) + $1F) And Not $1F) div $8;
end;
Delphi-Quellcode:
  bi.bmiHeader.biSizeImage := DWord(Abs(bi.bmiHeader.biHeight)) *
    ByteAlignOnWord(Byte(bi.bmiHeader.biBitCount), bi.bmiHeader.biWidth);
EDIT:
Den schrägen strich habe ich behoben , es fehlte bei Width das - 1
Für das anderen Problem habe ich noch einen Shot hochgeladen.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:58 Uhr)
  Mit Zitat antworten Zitat