Threshold
i jaśniejszemu -Light w zależności od podanego progu -Amout rozgraniczającego odcienie (domyślnie128 );
jeśli chcemy użyć zmiennych TColor należy użyć funkcji ColorToTriple (powyżej).
procedure Threshold( Bitmap:TBitmap ; const Light:TRgbTriple; const Dark:TRgbTriple; Amount:Integer = 128); var Row:^TRGBTriple; H,V,Index:Integer; begin Bitmap.PixelFormat:=pf24bit; for V:=0 to Bitmap.Height-1 do begin Row:=Bitmap.ScanLine[V]; for H:=0 to Bitmap.Width -1 do begin Index := ((Row.rgbtRed * 77 + Row.rgbtGreen* 150 + Row.rgbtBlue * 29) shr 8); if Index>Amount then Row^:=Light else Row^:=Dark ; inc(Row); end; end; end;