これはかなり長い間興味をそそられてきました。
Windows 7 Aeroが現在実行中のアプリのタスクバーボタンのホットトラッキングホバーハイライトとして使用する色を決定するために使用するアルゴリズムを知っている人はいますか?
それは間違いなくアプリのアイコンに基づいていますが、色の値を取得している特定のパターンを見ることができません。
しません、次のいずれかのように見えます。
- アイコン全体の平均色値。それ以外の場合は、Chromeのようなマルチカラーアイコンで
常に茶色になります。 - 画像で最も使用されている色。そうでない場合は、SQL Server Management Studioアイコンが黄色になります(左から6番目)。また、Chromeアイコンは、赤、緑、黄色を均等に使用していました。
- Chromeはアイコンの上部を示す赤であり、Notepad ++(右から2番目)はアイコンの下部を示す緑であるため、アイコン内の特定のピクセル座標にある色。
ux.stackoverflow.comでこの質問をしたところ、トピック外として閉じられましたが、誰かが次のように答えました:
このMSDNブログ記事でRaymond Chenが説明したとおり:
一部の人々は、それがどのように行われたかを尋ねます。それは本当に特別なことではありません。コードは、アイコン内の主要な色を探すだけです。(そして、ビジュアルデザイナーはこの種のことのこだわりであるため、この計算の目的上、黒、白、グレーの陰影は「色」とは見なされません。)
しかし、「主な」色がどのように計算されるかを説明していないので、私はその答えに本当に満足していませんでした。確かに、少なくとも私の目には、SQL Management Studioアイコンの主な色は黄色です。しかし、ハイライトは緑色です。 具体的には、アルゴリズムが何であるかを知りたい。
An average colour value from the entire icon, otherwise you would get brown all the time.
それは意味がありません。たとえば、Skype、command-prompt、またはµTorrentのアイコンは、平均して茶色になりますか?ಠ_ఠ(最後にWindowsの色計算アルゴリズムの1つをリバースエンジニアリングしたとき、最終的にそれを理解するのに数年の注意と多くの異なる作業が必要でした。これをハッキングすることになりそうですある時点で1つ。)