我正在開發第二個屏幕的任務欄(類似於displayfusion)。從bmp獲取平均顏色
但是,我很難從圖標中獲得正確的平均顏色。例如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);
}
這是一個類似的問題:http://stackoverflow.com/questions/5823854/how-can-i-generate-a-palette-of-prominent -colors-from-an-image/5824104#5824104 – 2011-07-19 15:01:11