带有笔(不同颜色)的.net画线

时间:2011-12-09 13:28:19

标签: .net c++-cli pen

我想用不同的颜色绘制线条(大约100个)。这些线将以循环绘制并获得随机颜色。这是我的代码:

for( int i = 0; i < 100 < i++ )
{
srand( time(NULL) );
int index = rand() % 99;
Pen^  my_pen = gcnew Pen((Color)CustomColorTables[index]);
g->drawLine(my_pen,startPointAray[i],stopPointArray[i]);
}

但是它绘制了所有具有相同颜色的线条

注意:我检查了随机值,生成随机值没有问题。

2 个答案:

答案 0 :(得分:1)

尝试下线:

srand( time(NULL) );

BEFORE 进入for循环。 在您的情况下,每次伪随机序列都会重置,并且您可能获得了错误的序列。 然后使用:

int index = (100*rand()) % 99;

因为rand()本身会返回一个从0到1的数字,并且您将始终收到99作为%结果。

答案 1 :(得分:0)

尝试替换:

CustomColorTables[index];

使用:

CustomColorTables[i];

如果它比我之前更好地工作,问题就在于你生成和使用随机值索引的方式。