Lecture des pixels

Signaler
Messages postés
2
Date d'inscription
vendredi 29 juillet 2011
Statut
Membre
Dernière intervention
18 janvier 2012
-
Messages postés
2
Date d'inscription
vendredi 29 juillet 2011
Statut
Membre
Dernière intervention
18 janvier 2012
-
Bonjours,

je cherche a réaliser un code qui permet de lire les pixels et de les trier ( si le pixel est noir afficher 1 sinon si il est blanc afficher 0. Pour réaliser ceux-ci je me suis donc inspiré de l'exemple de msdn mais malgré mais tentative, impossible de faire marché ce code... merci d'avance pour votre aide


Public Class Form1

    Dim image1 As Bitmap

    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click

        Try
            ' Retrieve the image.
            image1 = New Bitmap( _
                "test.bmp", _
                True)

            Dim x, y As Integer

            ' Loop through the images pixels to reset color.
            For y = 0 To image1.Height - 1
                For x = 0 To image1.Width - 1


                    Dim pixelColor As Color = image1.GetPixel(x, y)

                    
                    If pixelColor = Color.Black Then
                        TextBox1.Text += "0"
                    ElseIf pixelColor = Color.White Then
                        TextBox1.Text += "1"
                    End If

                    



                Next
            Next

            ' Set the PictureBox to display the image.
            PictureBox1.Image = image1

            ' Display the pixel format in Label1.
            Label1.Text = "Pixel format: " + image1.PixelFormat.ToString()

        Catch ex As ArgumentException
            MessageBox.Show("There was an error." _
                & "Check the path to the image file.")
        End Try
    End Sub

End Class

4 réponses

Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonjour,

Que constates-tu et qui ne te vas pas ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
salut
essaie

Private Sub readbitmap()
        Dim image1 As Bitmap
        Dim pixelcolor As New Color
        Dim linepixel As String
         ListBox1.Items.Clear()
        linepixel = String.Empty
        Try
            image1 = New Bitmap(Application.StartupPath & "\bitmap1.bmp")
            For row = 0 To image1.Width - 1
                linepixel = String.Empty
                For col = 0 To image1.Height - 1
                    pixelcolor = image1.GetPixel(row, col)
                    If pixelcolor.ToArgb = Color.Black.ToArgb Then
                        linepixel &= "0"

                    End If
                    If pixelcolor.ToArgb = Color.White.ToArgb Then
                        linepixel &= "1"
                    End If
                Next
                ListBox1.Items.Add(linepixel)
                ListBox1.Items.Add(Environment.NewLine)
            Next


        Catch ex As Exception

        End Try
    End Sub

à la place tu textbox j'ai mis un listbox
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
inconcevable de faire n appels a GetPixel...

passes par les BitmapData

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
2
Date d'inscription
vendredi 29 juillet 2011
Statut
Membre
Dernière intervention
18 janvier 2012

Merci beaucoup ShayW ton code marche parfaitement et merci au autre pour vos réponse :)