Forum: Multimedia
by luisk,
29. Jun 2014
wo liegt jetzt mein Fehler ?
Hier wird doch Zeile für Zeile gelesen - ist dennoch langsamer als über Pixel.
Sollte aber nicht sein, nachdem, was man überall findet.
for y := 0 to yHeight-1 do begin
l_ptr:=bmp.ScanLine;
for x := 0 to xwidth-1 do begin
l_r:= l_ptr.rgbBlue;
l_ptr.rgbBlue:=l_ptr.rgbRed;
l_ptr.rgbRed:=l_r;
texdata := l_ptr^;
Forum: Multimedia
by luisk,
29. Jun 2014
steh wohl grad auf dem Schlauch.
Wunder mich schon ne Weile, überall steht Scanline ist schneller :roll:
Hier ist es doch auch so. Oder.
http://stackoverflow.com/questions/13583451/how-to-use-scanline-property-for-24-bit-bitmaps
type
PRGBTripleArray = ^TRGBTripleArray;
TRGBTripleArray = array of TRGBTriple;
procedure GrayscaleBitmap(ABitmap: TBitmap);
var
Forum: Multimedia
by luisk,
29. Jun 2014
so geht's,
allerdings ist die Zeile
texdata := RGBQuad( bmp.canvas.pixels);
viel zu langsam.
Habe es auch mit TBmp.Scanline probiert.
Ist aber noch langsamer, obwohl man überall liest, scanline sei schneller.
Steh wohl grad auf dem Schlauch