web-dev-qa-db-fra.com

Comment la barre des tâches de Windows 7 Aero détermine-t-elle la couleur d'arrière-plan de l'état de survol du bouton

Cela m'intrigue depuis un certain temps.

Quelqu'un connaît-il l'algorithme que Windows 7 Aero utilise pour déterminer la couleur à utiliser comme surbrillance du survol du suivi de la souris sur les boutons de la barre des tâches pour les applications en cours d'exécution?

Windows 7 taskbar hover colours

Il est certainement basé sur l'icône de l'application, mais je ne vois pas de motif spécifique d'où il tire la valeur de la couleur.

Il ne fait pas semble être l'un des éléments suivants:

  • Une valeur de couleur moyenne de l'icône entière, sinon vous obtiendrez du brun tout le temps.
  • La couleur la plus utilisée dans l'image, sinon vous obtiendrez le jaune pour l'icône SQL Server Management Studio (6e à partir de la gauche). En outre, l'icône Chrome utilisée en rouge, vert et jaune dans une mesure égale.
  • Une couleur située à certaines coordonnées de pixels au sein de l'icône, car Chrome est rouge -indique le haut de l'icône - et Notepad ++ (2e à partir de la droite) est vert - indiquant le bas de l'icône.
4
theyetiman

La fonctionnalité que vous recherchez est appelée (par Microsoft) " Hot-track couleur ".

Comme décrit par Raymond Chen dans cet article de blog MSDN :

Certaines personnes demandent comment c'est fait. Ce n'est vraiment rien de spécial. Le code recherche simplement la couleur prédominante dans l'icône. (Et, puisque les concepteurs visuels sont tenaces pour ce genre de choses, le noir, le blanc et les nuances de gris ne sont pas considérés comme des "couleurs" aux fins de ce calcul.)

Google utilise une fonctionnalité similaire dans sa page d'onglet la plus visitée/nouvelle, qui a été expliquée en détail avec des exemples de code sur ce post de Quora .

2
Kit Grose