我添加了以下代碼。但它產生了16種顏色。但是我需要16種顏色在「紅色」和「卡其色」之間。我不需要漸變流程。我的顏色看起來像漸變流。我的顏色不能彼此靠近。因爲我將在圖表欄中使用此代碼返回值。他們彼此太靠近了。顏色選擇器不給漸變外觀
static class Program
{
[STAThread]
static void Main()
{
Form form = new Form();
Color start = Color.Red, end = Color.Khaki;
for (int i = 0; i < 16; i++)
{
int r = Interpolate(start.R, end.R, 15, i),
g = Interpolate(start.G, end.G, 15, i),
b = Interpolate(start.B, end.B, 15, i);
Button button = new Button();
button.Dock = DockStyle.Top;
button.BackColor = Color.FromArgb(r, g, b);
form.Controls.Add(button);
button.BringToFront();
}
Application.Run(form);
}
static int Interpolate(int start, int end, int steps, int count)
{
float s = start, e = end, final = s + (((e - s)/steps) * count);
return (int)final;
}
}
我想你需要在這裏重寫這個問題。代碼很清楚,但我不知道你真正想要什麼。 – Noldorin 2009-06-12 13:38:39
上面的代碼將生成「紅色」和「卡其間」之間的16種顏色。你是說你想要不同的顏色分佈,而不是線性漸變?你必須讓問題更清楚。 – 2009-06-12 13:50:18