分類:[.NET 全般]
2014/01/18(Sat) 06:59:15 編集(投稿者)
こんばんは。ななしと申します。
現在VBを用いた画像処理プログラムを作成しているのですが、その際にどうしてもわからないところがあったので質問させて頂いた次第でございます。
ピクチャーボックスを走査し、配列aの各座標とi,jの値が等しい時にその座標を白に、それ以外は黒に描画するプログラムを書いたつもりです。
実行してみると1ピクセルしか白にならないのですが、変数checkで分岐に入った数を調べてみたところ300と表示されました。
どこがおかしいのかわかる方がおられましたらお力副えよろしくお願い致します。
Dim i As Integer, j As Integer, n As Integer
Dim check As Integer
Dim a(300,1) As Integer '第二添字の0にはx座標、1にはy座標の値
Dim bBitmap As New Bitmap(PictureBox1.Image)
check = 0
For i = 0 To PictureBox1.Image.Width - 1
For j = 0 To PictureBox1.Image.Height - 1
For n = 0 To 300
If i = a(n, 0) And j = a(n, 1) Then
bBitmap.SetPixel(a(n, 0), a(n, 1), Color.White)
check += 1
Else
bBitmap.SetPixel(i, j, Color.Black)
End If
Next
Next
Next
With PictureBox2
.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
.Image = bBitmap
'変更結果の設定
End With
MsgBox("" & check)