Die HG-Farbe zu bestimmen ist schon das größere Problem, wenn es nicht der User machen soll.
BTW @zer00:
Das ist ja sinnlos. Er will es ja als Programm schreiben.
Das Freistellen muss - wie du sagst - mit gewisser Toleranz geschehen.
Dafür könnte sich in etwa sowas anbieten:
Delphi-Quellcode:
R := GetRValue(...);
G := ...;
B := ...;
MinR := R - Toleranz;
MinG := ...;
MinB := ...;
MaxR := R + Toleranz;
MaxG := ...;
MaxB := ...;
if (MinR < 0) then MinR := 0;
if ....;
if (MaxR > 255) then MaxR := 255;
if ....;
if ((R > MinR) AND (R < MaxR) AND (G > MinG) AND (G < MaxG) AND (B > MinB) AND (B < MinB)) then
begin
// Farbe setzen
end;