Я разрабатываю панель задач для второго экрана (что-то вроде displayfusion).
Однако мне сложно получить правильный средний цвет из значка. Например, Google Chrome/Когда я нахожу его на главной панели задач, фоны становятся желтыми. С моим кодом он становится оранжевым/красным.
Это то, что теперь выглядит:
Как я могу получить правильный доминирующий/средний цвет?
Я использую этот код для вычисления среднего цвета:
public static Color getDominantColor(Bitmap bmp)
{
//Used for tally
int r = 0;
int g = 0;
int b = 0;
int total = 0;
for (int x = 0; x < bmp.Width; x++)
{
for (int y = 0; y < bmp.Height; y++)
{
Color clr = bmp.GetPixel(x, y);
r += clr.R;
g += clr.G;
b += clr.B;
total++;
}
}
//Calculate average
r /= total;
g /= total;
b /= total;
return Color.FromArgb(r, g, b);
}