<p>Tiré de <a href="https://channel9.msdn.com/blogs/pdc2008/pc24">Welcome to the Windows 7 Desktop</a> à exactement 35 minutes :</p>
<blockquote></blockquote>
<p>C’est un histogramme de couleurs normalisé à travers 27 compartiments différents, et nous excluons les noirs, les blancs, les canaux alpha et les gris, puis utilisons la valeur RGBV [sic] la plus dominante…</p>
<p>Je suis assez certain que le présentateur voulait dire “RGB”, puisque “RGBV” ne semble pas exister. La partie “normalisé” n’a pas vraiment d’importance ; il s’agit essentiellement de compter combien de pixels tombent dans chaque “compartiment”. Chaque pixel est donc placé dans l’un des 27 compartiments (arrangés dans un tableau tridimensionnel ; la racine cubique de 27 est 3) en fonction de la position de la valeur de chacun de ses canaux. Windows détermine pour chaque canal de couleur si l’intensité de cette couleur se trouve dans la partie basse, moyenne ou haute de la plage. Il apparaît que les plages sont environ 0-60, 60-200 et 200-255. Les pixels complètement transparents ne sont pas du tout inclus.</p>
<p>Windows trouve ensuite quel compartiment contient le plus de pixels, en ignorant ceux correspondant au noir, au blanc et au gris (les compartiments où les trois canaux se trouvaient dans le même tiers de la plage). Cela explique l’icône de SQL Server Management Studio – une grande partie de ce qui nous apparaît jaune se retrouve en fait dans le compartiment “blanc” et est ignorée.</p>
<p>S’il n’y a aucun pixel dans l’un des compartiments acceptables, le programme obtient un surlignage bleu clair quelle que soit la palette de couleurs du système. (Voir l’Invite de commandes.) Si un programme n’a pas d’icône, il obtient un surlignage blanc/translucide même si l’icône par défaut de Windows produirait autrement un surlignage bleu ou vert.</p>
<p>Rien n’empêche plusieurs programmes d’avoir la même couleur de surlignage. La dernière icône de Chrome, par exemple, obtient le même jaune que l’Explorateur de Windows 8.</p>
<p>En cas d’égalité, il y a un ordre prédéterminé qui ne dépend pas de l’ordre des couleurs dans l’image. C’est probablement simplement le résultat de la façon dont le maximum est trouvé – les compartiments vérifiés en premier restent le maximum même si un compartiment ultérieur fait match nul. Il apparaît que le jaune est l’un des premiers compartiments vérifiés.</p>
<p>Une fois le compartiment gagnant découvert, la couleur de surlignage semble être définie à une couleur située quelque part au milieu de la plage du compartiment.</p>
<p>Cas de test (les nombres fournis sont des valeurs RGB) :</p>
<p>(255, 247, 209) → surlignage par défaut</p>
<p>(47, 0, 0) → surlignage par défaut</p>
<p>(60, 0, 0) → rouge foncé</p>
<p>(66, 0, 0) → rouge foncé</p>
<p>(165, 0, 0) → rouge</p>
<p>(128, 128, 128) → surlignage par défaut</p>
<p>(0, 148, 255) et (255, 0, 0) → rouge</p>
<p>(0, 255, 0) et (255, 216, 0) avec la même surface → jaune</p>
<p>idem mais inversé → jaune</p>
<p>(255, 180, 180) → rouge clair</p>
<p>(255, 210, 210) → surlignage par défaut</p>
<p>bleu pur, jaune pur, rouge pur et vert pur avec la même surface → jaune</p>
<p>(255, 61, 61) → rouge</p>
<p>(82, 0, 0) → rouge foncé</p>