Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch
Online

Registriert seit: 11. Aug 2012
Ort: Essen
1.599 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#36

AW: weniger Scanline aufrufe ... Graustufenbild

  Alt 1. Apr 2024, 11:11
mir fiel auf, dass Du die BytesPerLine selbst errechnest.
Ich mache das immer so:
Delphi-Quellcode:
DstLine := _DstBmp.ScanLine[0];
if h>1 then BytesPerLine:=NativeInt(_DstBmp.ScanLine[1]) - NativeInt(DstLine)
   else BytesPerLine:=0;
Und Inc(NativeInt(DstLine), BytesPerLine); Das erspart Überraschungen wenn die Zeilen in der Bitmap dann doch mal umgekehrt gespeichert sind.
Ja, in meinem ursprünglichen Code (im ersten Beitrag verlinkt) war das auch noch so, aber das war ein weiterer Aufruf von ScanLine und bei mir geht es um die möglichst effiziente Verarbeitung von 1000en von Bildern.

Ich habe bisher noch keine Bitmap gesehen, die nicht umgedreht gespeichert war (wobei die alle von unseren internen Programmen erzeugt werden, ist also kein Wunder). Und wenn das irgendwann passiert, merkt man das ziemlich schnell, weil es eine Access Violation gibt.
Thomas Mueller
  Mit Zitat antworten Zitat