Das hat mich schon länger fasziniert.
Kennt jemand den Algorithmus, den Windows 7 Aero verwendet, um die Farbe zu bestimmen, die als Hot-Tracking-Hover-Highlight auf den Taskleistenschaltflächen für derzeit ausgeführte Apps verwendet werden soll?
Es basiert definitiv auf dem Symbol der App, aber ich kann kein bestimmtes Muster erkennen, von dem der Farbwert stammt.
Es nicht scheint eine der folgenden zu sein:
- Ein durchschnittlicher Farbwert des gesamten Symbols, ansonsten würden Sie mit mehrfarbigen Symbolen wie Chrome die ganze
Zeitüber braun . - Die Farbe, die im Bild am häufigsten verwendet wird, andernfalls wird das SQL Server Management Studio-Symbol gelb (6. von links). Auch das Chrome-Symbol verwendete Rot, Grün und Gelb gleichermaßen.
- Eine Farbe, die sich an bestimmten Pixelkoordinaten innerhalb des Symbols befindet, da Chrome rot ist - was auf den oberen Rand des Symbols hinweist - und Notepad ++ (2. von rechts) grün ist - was auf den unteren Rand des Symbols hinweist.
Ich habe diese Frage auf ux.stackoverflow.com gestellt und sie wurde als Off-Topic geschlossen, aber jemand antwortete mit:
Wie von Raymond Chen in diesem MSDN-Blogartikel beschrieben :
Einige Leute fragen, wie es gemacht wird. Es ist wirklich nichts Besonderes. Der Code sucht nur nach der vorherrschenden Farbe im Symbol. (Und da visuelle Designer für diese Art von Dingen ein Problem sind, werden Schwarz, Weiß und Graustufen für die Zwecke dieser Berechnung nicht als "Farben" betrachtet.)
Mit dieser Antwort war ich jedoch nicht wirklich zufrieden, da sie nicht erklärt, wie die "vorherrschende" Farbe berechnet wird. Auf dem SQL Management Studio-Symbol ist die vorherrschende Farbe, zumindest für meine Augen, gelb. Das Highlight ist jedoch grün. Ich möchte speziell wissen, was der Algorithmus ist.
An average colour value from the entire icon, otherwise you would get brown all the time.
Das ergibt keinen Sinn. Wie würden sich beispielsweise die Symbole für Skype , Eingabeaufforderung oder µTorrent im Durchschnitt zu braun entwickeln? ಠ_ ఠ (Als ich das letzte Mal einen der Farbberechnungsalgorithmen von Windows rückentwickelt habe, hat es einige Jahre gedauert, bis ich ihn herausgefunden habe. Es sieht so aus, als würde ich ihn vielleicht hacken.) eines irgendwann.)