Це мене заінтригувало досить довгий час.
Хтось знає алгоритм, який Windows 7 Aero використовує для визначення кольору, який слід використовувати як підсвічування курсору гарячого відстеження на кнопках панелі завдань для запущених додатків?
Це, безумовно, базується на піктограмі програми, але я не бачу конкретного шаблону, звідки отримує значення кольору.
Здається, це не таке:
- Середнє значення кольору від усієї іконки, інакше ви б
увесь часотримували коричневий колір з різнокольоровими значками, як Chrome. - На зображенні найбільше використовується колір, інакше ви отримаєте жовтий колір для піктограми студії управління SQL Server (6-й зліва). Також піктограма Chrome в рівній мірі використовувала червоний, зелений та жовтий кольори.
- Колір, розташований у певних координатах пікселя в межах піктограми, оскільки Chrome червоний - вказує на верхню частину піктограми - а Notepad ++ (2-й справа) - зелений - позначає нижню частину піктограми.
Я задав це запитання на ux.stackoverflow.com, і він закрився як поза темою, але хтось відповів таким чином:
Як описав Реймонд Чен у цій статті блогу MSDN :
Деякі запитують, як це робиться. Це насправді нічого особливого. Код просто шукає переважаючий колір у значку. (Оскільки візуальні дизайнери є стикерами для подібних речей, чорний, білий і відтінки сірого не розглядаються як "кольори" для цілей цього розрахунку.)
Однак я не дуже задоволений цією відповіддю, оскільки це не пояснює, як розраховується "переважний" колір. Напевно на піктограмі SQL Management Studio переважаючий колір, як мені здається, жовтий. І все ж родзинка - зелена. Я хочу конкретно знати, що таке алгоритм.















An average colour value from the entire icon, otherwise you would get brown all the time.Це не має сенсу. Наприклад, як середні значки Skype , командного рядка або µTorrent мають коричневий колір? ಠ_ ఠ (Востаннє, коли я здійснив зворотну розробку одного з алгоритмів розрахунку кольорів Windows, потрібно було кілька років уваги та вимикань, і багато різних видів роботи, щоб остаточно розібратися. Схоже, я можу в кінцевому підсумку зламати це один у якийсь момент.)