Isso me intrigou por algum tempo.
Alguém conhece o algoritmo que o Windows 7 Aero usa para determinar a cor a ser usada como destaque do cursor de controle quente nos botões da barra de tarefas dos aplicativos em execução no momento?
Definitivamente, é baseado no ícone do aplicativo, mas não consigo ver um padrão específico de onde está obtendo o valor da cor.
Ele não parece ser qualquer um dos seguintes:
- Um valor médio de cor de todo o ícone; caso contrário, você ficará marrom
o tempo todocom ícones multicoloridos como o Chrome. - A cor mais utilizada na imagem; caso contrário, você ficará amarelo para o ícone do SQL Server Management Studio (6º da esquerda). Além disso, o ícone do Chrome usou vermelho, verde e amarelo na mesma medida.
- Uma cor localizada em determinadas coordenadas de pixel dentro do ícone, porque o Chrome é vermelho - indicando a parte superior do ícone - e o Notepad ++ (2º da direita) é verde - indicando a parte inferior do ícone.
Fiz essa pergunta no ux.stackoverflow.com e ela foi fechada como off-topic, mas alguém respondeu com o seguinte:
Conforme descrito por Raymond Chen neste artigo de blog do MSDN :
Algumas pessoas perguntam como é feito. Não é realmente nada de especial. O código procura apenas a cor predominante no ícone. (E, como os designers visuais são atrativos para esse tipo de coisa, preto, branco e tons de cinza não são considerados "cores" para a finalidade deste cálculo.)
No entanto, eu não estava realmente satisfeito com essa resposta, porque não explica como a cor "predominante" é calculada. Certamente, no ícone do SQL Management Studio, a cor predominante, pelo menos para os meus olhos, é amarela. No entanto, o destaque é verde. Quero saber, especificamente, qual é o algoritmo.
An average colour value from the entire icon, otherwise you would get brown all the time.
Isso não faz sentido. Por exemplo, como os ícones do Skype , do prompt de comando ou do µTorrent ficam na cor marrom? The_ ఠ (A última vez que fiz a engenharia reversa de um dos algoritmos de cálculo de cores do Windows, foram necessários vários anos de atenção e desatenção e muitos tipos diferentes de trabalho para finalmente descobrir. Parece que eu posso acabar invadindo esse um em algum momento.)