Forum: Multimedia
Delphi
by DeddyH,
14. Mai 2009
Ich habe mal schnell eine Funktion geschrieben (für Fehlerfreiheit und Performance übernehme ich allerdings kein Garantie):function SimilarColors(FirstColor, SecondColor: TColor;
Percentage: byte = 5): Boolean;
function ColorInRange(first, second: byte): Boolean;
begin
Result := abs(first - second) <= Round(MAXBYTE / 100 * Percentage);
end;
var...
Forum: Multimedia
Delphi
by DeddyH,
14. Mai 2009
Eine TColor wie clBlack besteht aus 4 Byte (jeweils eins für rot, grün, blau und ein Merkmal für Systemfarben). clBlack ist AFAIK $00000000. Wenn nun beispielsweise der Rotanteil auch nur geringfügig höher ist ($00000001), greift Dein Vergleich nicht mehr. Du könntest nun also die Farbe in ihre Bestandteile zerlegen (GetRValue, GetGValue, GetBValue) und mit einfacher Prozentrechnung ermitteln, ob...