C#如何为每个项目获得不同颜色的循环?

时间:2015-12-07 16:53:59

标签: c#

我有超过10个项目想在我的图形中使用Pen绘制椭圆。

问题是如何制作循环以获得每个项目的不同颜色?

 graphics.DrawEllipse(new Pen(Color.Maroon, 2f), x, y, 2, 2);

使用String来显示每种颜色的颜色类,我想要像:

String colorName;

for(int i=0, i<ItemsLength; i++)
{
    colorName = getColorNmae(data[i]);
}

graphics.DrawEllipse(new Pen(colorName, 2f), x, y, 2, 2);

1 个答案:

答案 0 :(得分:0)

首先,创建颜色列表,例如:

var colors = new List<Color>
{
    Color.Red,
    Color.Blue,
    ...
    Color.Maroon
}

然后,假设您有十种颜色,您可以使用i % 10来获取0到9之间的数字,以便围绕颜色重复循环:

for(var i = 0, i < ItemsLength; i++)
{
    var x = derive x from items[i]
    var y = derive y from items[i]
    graphics.DrawEllipse(new Pen(colors[i % colors.Count], 2f), x, y, 2, 2);
}