2012-11-30 59 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

嘿,谢谢你的工作! –