2
我怎樣才能生成16種顏色。我的起始色是「紅色」,我的終端色是「卡其色」。我必須插入14種顏色。但它看起來像漸變流。例如color.Black不是來自紅色。暴力應該從紅色變成紅色。如何做那個漸變顏色生成器?
我怎樣才能生成16種顏色。我的起始色是「紅色」,我的終端色是「卡其色」。我必須插入14種顏色。但它看起來像漸變流。例如color.Black不是來自紅色。暴力應該從紅色變成紅色。如何做那個漸變顏色生成器?
你應該能夠插值?這個例子是winforms,但數學是相同的 - 簡單地說,ASP.NET必須以十六進制格式編寫顏色。您也可以(使用ASP.NET)分別查找RGB值 - 但對於信息,Khaki(以winforms形式)是{240,230,140}(紅色顯然是{255,0,0})。
using System.Drawing;
using System.Windows.Forms;
static class Program {
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;
}
}
+1爲明智的答案,但我得到的感覺是男人正在與預設的顏色從枚舉,因此colour.Violet thingy。 – 2009-06-12 12:34:38