Hallo,
Zitat von
Eichhoernchen:
Wie kann ich dass mit scanline umsetzen? damit kann ich doch immer nur 1 Pixel betrachten und nicht mehrere oder?
Mit scanline greifst du auf eine komplette Zeile eines Bitmaps zu.
Folgendes setzt einen
RGB Pixel in einem
RGB Bild:
Delphi-Quellcode:
procedure mp_setpixel(x,y:integer;r,g,b:byte;bitm:TBitmap);
var p:PByteArray;
begin
p:=bitm.ScanLine[y];
p[x*3] :=b;
p[x*3+1]:=g;
p[x*3+2]:=r;
end;
Eine Zeile ist dann ein Array das bei
RGB-Bilder so Aufgebaut ist: bgrbgrbgr...
(der Zugriff ist dann Schneller als Pixels)
Wenn Du z.B. 2 Zeilen gleichzeitig betrachten möchstest kannst Du mit
Delphi-Quellcode:
p:=bitm.ScanLine[4];
p1:=bitm.ScanLine[5];
auf die 4. und 5.Zeile zugreifen. (Zählung ab 0)
Ein Gruß