2011-12-09 44 views
2

我想用不同的顏色畫線(約100)。這些線將循環繪製並獲得隨機顏色。這裏是我的代碼:.net筆畫與筆(不同的顏色)在一個循環中

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]); 
} 

但它繪製所有線條相同的顏色?

注:我查了隨機值,有大約生成隨機值沒有問題。

回答

1

嘗試把行:

srand(time(NULL)); 

進入for循環。 在你的情況下,你每次重置僞隨機序列,你可能會得到一個錯誤的序列。 然後使用:

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

因爲RAND()自行返回從0到1的數字,你會總是收到99爲%的結果。

+0

結果是一樣的:/ – user983924

+0

@ user983924甚至通過乘以rand()* 100之前? –

+0

我在循環之前替換了srand函數並解決了問題。謝謝 – user983924

0

嘗試更換:

CustomColorTables[index]; 

有:

CustomColorTables[i]; 

,如果它工作比以前更好,因爲我相信,這個問題是你生成方式,並使用隨機值指標。

+0

它繪製相同,我認爲問題是關於筆。 – user983924

+0

CustomColorTables變量中有多少種顏色和哪些值? –

+0

100種顏色和我創作的顏色表。 – user983924