0
vb.netの2D配列に対して可変サイズのウィンドウをスライドさせることに問題があります。私の悩みは、配列の最初の要素を0,0にするときです。問題の要素がスライディングウィンドウの中心でなければならないので、ウィンドウのサイズはこれまでより小さくする必要があります。例:arrarサイズ(40,43)ウィンドウサイズ5x5(ウィンドウサイズはNxN N = 3のウィンサイズは3x3です)したがって、サイズがwin 5の配列(0,0)なので、2 colと2 rowsを取り出す必要があり、ウィンドウサイズは3x3です。任意のヘルプは、VaRのピクセルvb.netの2次元配列上のスライディングウィンドウ
Public Function getPIXELSinWINDOW(ByVal Wsize As Integer, ByVal x As Integer, ByVal y As Integer)
Dim tempARRAY As New ArrayList()
Dim Xwidth As Integer = Wsize
Dim Yheight As Integer = Wsize
Dim Xvalue As Integer = x - Wsize/2
Dim Yvalue As Integer = y - Wsize/2
Dim imgHEIGHT As Integer = Me.mysize.Height
Dim imgWIDTH As Integer = Me.mysize.Width
Dim i, j As Integer
While Xvalue < 0
Xvalue += 1
Xwidth -= 1
End While
While Xvalue > imgWIDTH
Xvalue -= 1
Xwidth -= 1
End While
While Xwidth >= imgWIDTH
Xwidth -= 1
End While
While Xvalue + Xwidth > imgWIDTH
Xwidth -= 1
End While
While Yvalue < 0
Yvalue += 1
Yheight -= 1
End While
While Yvalue > imgHEIGHT
Yvalue -= 1
Yheight -= 1
End While
While Yheight >= imgHEIGHT
Yheight -= 1
End While
While Yvalue + Yheight > imgHEIGHT
Yheight -= 1
End While
For i = Xvalue To Xvalue + Xwidth
For j = Yvalue To Yvalue + Yheight
tempARRAY.Add(pixels(j, i))
Next
Next
Return tempARRAY
End Function
great.`だろう。このような
ありがとうございました。申し訳ありませんがC#で使用していますが、とにかく理解できることを願っています。 :) – ManiSto
私はこの権利を読んでいる私は確信していないが、私は20,10でデータ配列でこれは私に25値の完全なウィンドウを与えるのだろうか? – bob
はい、そうです。コンソールプロジェクトを作成し、このクラスを貼り付けてメインクラスとして実行できます。この方法で、異なる値で再生して意図したとおりに動作することを確認できます。また、好きな場合は、コードコメントが多いバージョンを追加することもできます。 – ManiSto