1

私はVB2008で作業しています。List(OfPoint)データ型を使用して、ビットマップから特定のピクセル値の座標を格納しました。

'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)を使用して、リストに格納されているポイント間の勾配を計算したいと思います。私が抱えている問題は、リスト内のポイントにアクセスすることです。私はこれを行う方法はありません。

オンラインで調べたところ、リストから個々の座標点を抽出する方法が見つかりませんでした。助言がありますか。ありがとう。

4

1 に答える 1

0

それらがリストにリストされている場合は、配列の場合と同じように要素に直接アクセスできますが、これは非効率的です。

'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
于 2013-02-20T21:54:12.327 に答える