none
comment lire une image et la charger dans une picturebox et pouvoir la modifier avec vb 2010 RRS feed

Réponses

  • Bonjour,

    j'ai trouver la solution a ton problème avec Picturebox1_Paint .

    voici en image :

    voici ton codes modifier :

    Imports System.IO
    
    Public Class Form1
        Private ReadOnly _lines As New List(Of Line)
        Dim fichier As String = My.Computer.FileSystem.SpecialDirectories.Desktop & "\Teste.jpg"
        Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
            Dim startX, endX, startY, endY As Int32
            If (Int32.TryParse(TextBox1.Text, startX) AndAlso
                Int32.TryParse(TextBox2.Text, endX) AndAlso
                Int32.TryParse(TextBox3.Text, startY) AndAlso
                Int32.TryParse(TextBox4.Text, endY)) Then
                _lines.Add(New Line With {
                      .StartPoint = New Point(startX, startY),
                      .EndPoint = New Point(endX, endY)})
                PictureBox1.Invalidate()
            End If
        End Sub
    
        Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            TextBox1.Text = Nothing
            TextBox2.Text = Nothing
            TextBox3.Text = Nothing
            TextBox4.Text = Nothing
            PictureBox1.Image = Nothing
        End Sub
    
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            If Not PictureBox1.InitialImage Is Nothing Then
                Dim bmp As New Drawing.Bitmap(PictureBox1.Width, PictureBox1.Height)
                PictureBox1.DrawToBitmap(bmp, PictureBox1.ClientRectangle)
                bmp.Save(fichier, System.Drawing.Imaging.ImageFormat.Jpeg)
                bmp.Dispose()
                Button1.Text = "Enregistrement Reussi"
            Else
                Button1.Text = "Enregistrement échoué!!"
            End If
        End Sub
    
        Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
            If File.Exists(fichier) Then
                PictureBox1.Load(fichier)
                Button4.Text = "chargement réussi!!"
                PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
            Else
                Button4.Text = "Fichier n'existe pas!!"
            End If
        End Sub
    
        Private Sub PictureBox1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
            For Each line As Line In _lines
                e.Graphics.DrawLine(Pens.Black, line.StartPoint, line.EndPoint)
            Next
        End Sub
    End Class
    
    Class Line
        Property StartPoint As Point
        Property EndPoint As Point
    End Class

    cordialement,

    • Marqué comme réponse SIMONGEORGES mardi 5 avril 2016 20:28
    mardi 5 avril 2016 13:24

Toutes les réponses

  • Chargez la avec:

    PictureBox1.Load(My.Computer.FileSystem.SpecialDirectories.Desktop & "\Teste.jpg")


    • Proposé comme réponse zorro591 lundi 4 avril 2016 15:52
    lundi 4 avril 2016 15:14
  • bonsoir

    j'arrive pas a la lire dessolé!!!

    je charge l'image de mon dessin et je ne vois rein dans le picture box voici mon code

        Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
            PictureBox1.Load(My.Computer.FileSystem.SpecialDirectories.Desktop & "\Teste.jpg")
            Button4.Text = "chargement réussi!!"
            PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
        End Sub
    

    lundi 4 avril 2016 19:08
  • Désolé mais le code n'a pas de problème.

    Encore une fois lorsque vous avez un problème commencez par debugger votre code avec Try Catch:

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Try
                PictureBox1.Load(My.Computer.FileSystem.SpecialDirectories.Desktop & "\Teste.jpg")
                Button2.Text = "chargement réussi!!"
                PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
            Catch ex As Exception
                MessageBox.Show("Eception levée : " & ex.Message, "Erreur au chargement")
            End Try
        End Sub

    lundi 4 avril 2016 19:46
  • bonsoir je suis désolé je ne vois rien comme message j'y comprends plus rien
    lundi 4 avril 2016 21:02
  • Vous devriez pouvoir poster des captures d'écran ici. Cela aiderai à comprendre le problème.
    mardi 5 avril 2016 08:20
  • bonjour

    merci pour toute votre attention  je pense en effet qu'il y a un probleme avec le try  y a  t il un moyen de faire autrement merci d'avance

    mardi 5 avril 2016 08:31
  • Le code proposé n'a pas de problème.

    Qu'est ce que vous avez comme code exactement?

    mardi 5 avril 2016 09:16
  • voici les copies d'ecran au cours du debug du programme

    écran 1 trace de la droite

    écran 2 la sauvegarde et son image enregistrée écran3

    écran 4 après click sur bouton  lire

     en espérant que cela vous permettra de me dire le pourquoi

    merci encore

    mardi 5 avril 2016 09:17
  • Est-ce que vous pouvez ouvrir l'image sauvegardée sur le bureau?
    mardi 5 avril 2016 09:19
  • oui je peux l'ouvrir voir la copie ecran n°3 de mon precedent envoi
    mardi 5 avril 2016 11:53
  • Modifiez votre code avec ceci:

     Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Try
                If File.Exists("") = True Then
                    PictureBox1.Load(My.Computer.FileSystem.SpecialDirectories.Desktop & "\Teste.jpg")
                    Button2.Text = "chargement réussi!!"
                    PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
                Else
                    Button2.Text = "Fichier n'existe pas!!"
                End If
    
            Catch ex As Exception
                MessageBox.Show("Eception levée : " & ex.Message, "Erreur au chargement")
            End Try
        End Sub

    et mettez un point d'arrêt comme ceci pour debug pas à pas pour voir si le fichier existe:

    mardi 5 avril 2016 12:15
  • bonjour je viens de reussir un debug le chargeùment se fait mais on ne voit rien dans la picture box ci-joint la copie ecran

    mardi 5 avril 2016 12:24
  • je viens de reussir un degu mais pas image dans la picturebox ci joint cpopie ecran
    mardi 5 avril 2016 12:25
  • je viens d'effectuer  votre code avec le point d’arrêt et j’obtiens la réponse sur le bouton" le fichier existe  pas" voici la copîe d''écran

    mardi 5 avril 2016 12:40
  • Bonjour,

    le problème vient picturebox1_Paint :

    Private Sub PictureBox1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
            e.Graphics.Clear(Color.White)
            For Each line As Line In _lines
                e.Graphics.DrawLine(Pens.Black, line.StartPoint, line.EndPoint)
            Next
        End Sub

    quand tu enlève Paint , l'image s'affiche sur picturebox quand tu clique sur lire.

    il faut revoir ton code paint pour corriger ce problème.

    cordialement,


    • Modifié zorro591 mardi 5 avril 2016 12:52
    mardi 5 avril 2016 12:51
  • Bonjour,

    j'ai trouver la solution a ton problème avec Picturebox1_Paint .

    voici en image :

    voici ton codes modifier :

    Imports System.IO
    
    Public Class Form1
        Private ReadOnly _lines As New List(Of Line)
        Dim fichier As String = My.Computer.FileSystem.SpecialDirectories.Desktop & "\Teste.jpg"
        Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
            Dim startX, endX, startY, endY As Int32
            If (Int32.TryParse(TextBox1.Text, startX) AndAlso
                Int32.TryParse(TextBox2.Text, endX) AndAlso
                Int32.TryParse(TextBox3.Text, startY) AndAlso
                Int32.TryParse(TextBox4.Text, endY)) Then
                _lines.Add(New Line With {
                      .StartPoint = New Point(startX, startY),
                      .EndPoint = New Point(endX, endY)})
                PictureBox1.Invalidate()
            End If
        End Sub
    
        Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            TextBox1.Text = Nothing
            TextBox2.Text = Nothing
            TextBox3.Text = Nothing
            TextBox4.Text = Nothing
            PictureBox1.Image = Nothing
        End Sub
    
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            If Not PictureBox1.InitialImage Is Nothing Then
                Dim bmp As New Drawing.Bitmap(PictureBox1.Width, PictureBox1.Height)
                PictureBox1.DrawToBitmap(bmp, PictureBox1.ClientRectangle)
                bmp.Save(fichier, System.Drawing.Imaging.ImageFormat.Jpeg)
                bmp.Dispose()
                Button1.Text = "Enregistrement Reussi"
            Else
                Button1.Text = "Enregistrement échoué!!"
            End If
        End Sub
    
        Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
            If File.Exists(fichier) Then
                PictureBox1.Load(fichier)
                Button4.Text = "chargement réussi!!"
                PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
            Else
                Button4.Text = "Fichier n'existe pas!!"
            End If
        End Sub
    
        Private Sub PictureBox1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
            For Each line As Line In _lines
                e.Graphics.DrawLine(Pens.Black, line.StartPoint, line.EndPoint)
            Next
        End Sub
    End Class
    
    Class Line
        Property StartPoint As Point
        Property EndPoint As Point
    End Class

    cordialement,

    • Marqué comme réponse SIMONGEORGES mardi 5 avril 2016 20:28
    mardi 5 avril 2016 13:24
  • un grand merci cela fonctionne parfaitement il me reste à savoir comment faire quand j'ai charge le fichier je peux le modifier et dessiner pour completer le dessin merci encore et encore
    mardi 5 avril 2016 20:29