Thema: Delphi Toleranzen von Farben

Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Toleranzen von Farben

  Alt 14. Mai 2009, 09:58
Zitat von DeddyH:
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 sich der jeweilige Anteil innerhalb einer von Dir definierten Toleranz (z.B. 5 %) befindet.
Das hört sich schonmal sehr gut an. Werde ich gleich mal versuchen einzubauen. Folgendes habe ich auch gefunden auch dieser Seite. Ähm ja anscheinend versucht er ja auch mit
if abs(bm1.canvas.pixels[i,j] - bm2.canvas.pixels[i,j]) < 20 then die Unterschiede der Farben einzugehen. Ich hab mir dazu mal ein kleines Programm geschrieben und es an einem einzigen Buchstaben getestet und das geht total in die Hose. Bis zu einem Unterschied von 2 gibt er immer das gleiche aus (natürlich das falsche) und bei 1 gibt er was anderes aus (aber auch flasch). Kann natürlich immer noch sein, dass ich da was flasch verstanden habe. Das nurmal als Einwurf.

Jetzt zu GetRValue, ...
2. Account Sero
  Mit Zitat antworten Zitat