Ваша проблема здесь, вероятно, из-за исключения, которое завершает вашу программу.Координата изображения начинается с 0. Прямо сейчас, когда lengthIMG равен myBitmap.Height, вы получите ошибку.
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim x As Integer
Dim y As Integer
Dim pixels(438, 343) As Color
Dim pixelsData(438, 343) As String
Dim myBitmap As New Drawing.Bitmap(PictureBox1.Image)
For x = 0 To myBitmap.Width - 1
For y = 0 To myBitmap.Height - 1
pixels(x, y) = myBitmap.GetPixel(x, y)
Select Case pixels(x, y).ToString
Case "Color [A=255, R=0, G=0, B=0]"
TextBox1.Text = TextBox1.Text & "X: " & x & " Y: " & y & " Color: " & "Black " & vbCrLf
pixelsData(x, y) = "Black"
Case "Color [A=255, R=255, G=255, B=255]"
TextBox1.Text = TextBox1.Text & "X: " & x & " Y: " & y & " Color: " & "White" & vbCrLf
pixelsData(x, y) = "White"
End Select
Next
Next
End Sub
Это предполагает, что ваше изображение не больше 438, 343, потому что ваш массивисправлено.
Также, пожалуйста, используйте координаты x, y, то есть стандарт:)
Последний совет, я бы разделил вашу логику на меньший метод.Один из способов загрузить растровое изображение и вернуть pixData.Один метод, который принимает pixData и возвращает строку для текстового поля.Таким образом, вы можете легко выводить в файл вместо текстового поля.