Posterize
procedure Posterize(Bitmap: TBitmap; amount: integer); var H,V:Integer; Wsk:^Byte; begin Bitmap.PixelFormat :=pf24bit; for V:=0 to Bitmap.Height -1 do begin Wsk:=Bitmap.scanline[V]; for H:=0 to Bitmap.Width*3 -1 do begin Wsk^:= round(WSK^/amount)*amount ; inc(Wsk); end; end; end;