我在VB 2008中工作。我使用了List(Of Point)数据类型来存储位图中某些像素值的坐标:
'This code is in a loop
Dim bpCoordinates As New List(Of Point)
If pixelClr > 72 Then
bpCoordinates.Add(New Point(FrameNumber, y))
End If
我想使用(y2 - y1)/(x2 - x1)计算列表中存储点之间的斜率。 我遇到的问题是访问列表中的点。我不知道怎么做。
我在线查看,无法找到从列表中提取各个坐标点的任何方法。有什么建议。感谢。
答案 0 :(得分:0)
如果它们列在List中,您可以像在数组中一样直接访问元素 - 尽管这样效率很低。
'Returns the nth list element
Dim p As Point = bpCoordinates(n)
将它存储在一个数组中会好得多,特别是如果你的列表很长。
Dim pointArray As Point() = bpCoordinates.ToArray
之后通常会遍历您的列表或数组。
Dim slope As Double
For index As Integer = 0 To pointArray.Length - 1
slope = (pointArray(index + 1).Y - pointArray(index).Y) / (pointArray(index + 1).X - pointArray(index).X)
'Do fun stuff with slope
Next