Hallo zusammen
Ich sitze gerade seit min 12 Stunden daran so optional und schnell wie mögliche alle schwarzen Pixel aus diesem Bild zu Filtern und in eine List(Of Point) zu stecken.
Problem ist ich bekomme immer dies Fehlermeldung und kann nichts damit anfangen direkt, das bedeutet ich weiß nicht wie ich diesen Fehler behebe
Spoiler anzeigen
Ich sitze gerade seit min 12 Stunden daran so optional und schnell wie mögliche alle schwarzen Pixel aus diesem Bild zu Filtern und in eine List(Of Point) zu stecken.
Problem ist ich bekomme immer dies Fehlermeldung und kann nichts damit anfangen direkt, das bedeutet ich weiß nicht wie ich diesen Fehler behebe
VB.NET-Quellcode
- #Region "Pixel zeichen"
- Private Async Sub pixel_erstellen()
- Await Task.Run(Sub()
- Dim bmp As New Bitmap(300, 300)
- For x As Integer = 0 To bmp.Width - 1
- For y As Integer = 0 To bmp.Height - 1
- Dim i As Integer = R.Next(10) 'pixel dichte
- If i = 1 Then bmp.SetPixel(x, y, Color.Black)
- 'bmp.SetPixel(R.Next(0, 300), R.Next(0, 300), Color.Black)
- Next
- Next
- PictureBox1.Image = bmp
- End Sub)
- End Sub
- #End Region
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- AllezuListe()
- End Sub
- Private Iterator Function auslesen() As IEnumerable(Of Point)
- Dim Bild As Bitmap = New Bitmap(PictureBox1.Image)
- For x As Integer = 0 To Bild.Width - 1
- For y As Integer = 0 To Bild.Height - 1
- Dim k As Integer = Bild.GetPixel(x, y).ToArgb
- If Color.Black.ToArgb = k Then Yield New Point(x, y)
- Next
- Next
- End Function 'Gibt die Koordinaten der schwarzen Punkte durch
- '(Iteration) , d.h. nacheinander
- Private Function AllezuListe() As List(Of Point)
- Dim PP As New List(Of Point)
- '<-------
- Parallel.ForEach(auslesen, Async Sub(c) Await Task.Run(Sub() PP.Add(c))) ' Fehler bei PP.Add(c)
- MessageBox.Show(String.Concat("Inhalt: ", PP.Count))
- Return PP '{(x,y),(x,y)...}
- '---------->
- End Function