Delphi-Quellcode:
Procedure CheckPoints(X,Y: Integer; Canvas: TCanvas); StdCall;
var R, G, B:Byte;
Color:TColor;
begin
{$R-}
Color := Canvas.Pixels[X, Y];
R := GetRValue(Color);
G := GetGValue(Color);
B := GetBValue(Color);
// prüfe, ob Pixelfarbe <> BackgroundTRGBFillColor
if (R <> MainForm.BackgroundTRGBFillColor.r) and (G <> MainForm.BackgroundTRGBFillColor.g)
and (B <> MainForm.BackgroundTRGBFillColor.b) then
Inc(Distance);
{$R+}
end;
Der Zugriff mittels Canvas.Pixels ist in der Regel sehr langsam.
Eine ausführliche Erklärung findest Du hier :
https://wiki.delphigl.com/index.php/...ildbearbeitung
cu Ha-Joe