2012-11-30 56 views
0

我有一個控制檯應用程序在3D CAD程序中繪製線條。現在爲了讓這個更清晰,我想用不同的顏色來改變這些線條。更改每行的顏色

我的代碼從一個文本文件中讀取變量並計算來自它的數據,然後根據這個計算的數據生成一行。 在包含數據的文本文件中,每一行都會重複該過程。

現在我想要visual basic改變顏色everytinme繪製一條新線,所以我得到不同的彩色線條。

我試過使用For .. To .. Step方法,但這沒有奏效。我也嘗試使用我的文本文件中的變量(這些變量是不同的,所以當一條新行被讀取時,RGB代碼將會改變),但是這隻會讓我看到很多藍色。

有什麼建議嗎?

編輯:

這是我用來繪製曲線,將RGB代碼必須cahnge每次當有新的數據線由:

' Creating a Curve2d object by using the above defined points 
        objLineString = objLineStrings.AddByPoints(PointCount:=points, points:=dataArray) 
        objGeometricStyle = objLineString.Style 
        color = objGeometricStyle.LinearColor 
        objGeometricStyle.LinearColor = RGB(0,0,0) 
+0

你可以顯示畫線的代碼嗎? –

+0

CAD程序如何讀取顏色?你是否需要指定RGB值,或者是否有某些預定義的顏色編號可以循環使用? – Kratz

+0

如果您更改RGB(0,0,0)o RGB(255,0,0),它會繪製一條紅線嗎? –

回答

1

什麼:

Dim rand As New Random() ' Used to generate random numbers 
Dim colors(100) as Integer 

' Create the colors 
For i as Integer = 0 to 100 Step 1 
    colors(i) = RGB(rand.Next(256), rand.Next(256), rand.Next(256)) 
Next 

For i As Integer = 0 To 100 Step 1 ' Adjust to your needs 
    ' Creating a Curve2d object by using the above defined points 
    objLineString = objLineStrings.AddByPoints(PointCount:=points, points:=dataArray) 
    objGeometricStyle = objLineString.Style 
    color = objGeometricStyle.LinearColor 
    objGeometricStyle.LinearColor = colors(i Mod 100) ' Mod returns the remainder of i/100, so it's always less than 100. 
Next 

這並不總是給你「漂亮」的顏色,但他們會不同的每一行。如果你想控制生成的顏色,你可以設置一個預定義的顏色數組,並在迭代中使用這些顏色。

+0

謝謝你的工作,但問題是(我的錯)我有三種方法來製作一條線。這三個需要是相同的顏色,現在有不同的顏色。併爲新的讀取數據提供不同的顏色。而且選擇顏色的速度也很慢。 –

+1

那麼然後創建一組顏色,將它們存儲在一個數組中,並遍歷數組。看我的編輯。 –

+0

嘿,謝謝你的工作! –