004
28.09.2006, 22:44 Uhr
FloSoft
Medialer Over-Flow (Administrator)
|
Zitat von 0xdeadbeef: |
Naja, die einfachste Methode wäre, die Abweichungen der einzelnen Farbwerte von der gesuchten Farbe zusammenzuzählen. Für kleine Abweichungen wird das wohl genügen, allerdings kann es dir natürlich passieren, dass du damit Ergebnisse kriegst, die im Farbton doch deutlich abweichen - wenn du zum Beispiel nach 100/100/100 suchst (dunkles Grau) und eine Palette 80/80/80 und 41/100/100 hast, kriegst du auf die Art die 41/100/100 (dunkles Türkis) statt der 80/80/80 (dunkleres Grau) raus. Vielleicht ist es daher sinnvoll, zusätzlich noch die Spanne der Abweichung dazuzuzählen (also maximale Abweichung - minimale Abweichung). In dem Fall wäre bei diesem Beispiel der Abweichungswert für 80/80/80 halt 60, weil dreimal 20 Punkte Abweichung + 0 Punkte Spanne der Abweichung, und 41/100/100 wäre 108: 59 + 0 + 0 Abweichung + 59 Abweichungsspanne.
Jedenfalls wär das so meine erste (ungetestete) Idee. Sollte einfach umzusetzen sein, und mein Gefühl sagt, es sollte brauchbar laufen.
|
das klingt schon ganz gut - ja mal sehen wie ich das umsetzen kann.
Ansonsten - ich hab die Paletten gegeben - d.h ich muss wohl oder übel mit RGB arbeiten. das mit YIQ schaut zwar ganz gut aus - nur naja weiß nicht.
Ich frag mich wie z.b Grafikprogramme wie Photoshop das macht - da kann man ja im Farbwähler beliebige RGB-Farbe auswählen und er sucht sich die "näheste" aus.
Klar - irgendwo verfälscht das das teilweise die Farbe - nur wie arbeiten solche Programme? Wandlet das den gesuchten Farbton dann in YIQ oder ähnliches um und sucht dann da drüber den Wert?
Ansonsten @virtual hast du da ein Beispiel wie man das mit YIQ macht? außerdem versteh ich denen ihr Beispiel nicht so ganz - ich habs nicht so mit der Mathematik.
Im MacOS gibts ja diese "Color2Index"-Funktion - sowas bräuchte ich halt. -- class God : public ChuckNorris { }; |