我想用不同的颜色绘制线条(大约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]);
}
但是它绘制了所有具有相同颜色的线条
注意:我检查了随机值,生成随机值没有问题。
答案 0 :(得分:1)
尝试下线:
srand( time(NULL) );
BEFORE 进入for循环。 在您的情况下,每次伪随机序列都会重置,并且您可能获得了错误的序列。 然后使用:
int index = (100*rand()) % 99;
因为rand()本身会返回一个从0到1的数字,并且您将始终收到99作为%结果。
答案 1 :(得分:0)
尝试替换:
CustomColorTables[index];
使用:
CustomColorTables[i];
如果它比我之前更好地工作,问题就在于你生成和使用随机值索引的方式。