Узнайте цвет фона в системном трее Windows, чтобы выбрать значок в трее для моего приложения - PullRequest
0 голосов
/ 31 октября 2011

Я пишу приложение для Windows, которое отображает значок на панели задач Windows (рядом с системными часами).Проблема в том, что моя иконка отлично смотрится на одних фонах и ужасно смотрится на других.Эту проблему можно решить, создав тень или контур вокруг значка, но значок на панели задач имеет размер 16x16 пикселей, что затрудняет достижение первого.

Поэтому мне было любопытно, есть ли способузнать, на каком фоне панели задач отображается мой значок, например, как среднее значение RGBA?(Я понимаю, что теперь это не сплошной цвет, поэтому слово «значит».) И если это так, я уверен, что есть алгоритм, чтобы определить, является ли это яркий (серый, серебристый) или темный фон (синий или черный)).Это позволит мне загрузить темную или яркую версию иконки в трее.

1 Ответ

1 голос
/ 31 октября 2011

Поскольку вы предоставляете только значок, у вас нет возможности закрасить область, где должен отображаться значок.Когда Aero выключен, ожидается, что цвет будет GetSysColor (COLOR_BTNFACE), в противном случае все будет сложнее, и потребуется прозрачность, чтобы окна под панелью приложения фактически влияли на цвет фона вокруг значка на панели задач.

...