IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Copier et remplacer l'image dans dossier StartupPath


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut Copier et remplacer l'image dans dossier StartupPath
    Salut tout le monde
    Svp j'ai besoin d'aide pour resoudre ce probleme
    Dans ma Form1 j'ai une PictureBox1 .. et ce code complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Imports System.IO
    Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Me.PictureBox1.Image = Image.FromFile(Application.StartupPath & "\FolderBackground\Background.Png")
        End Sub
        Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
            Dim ofd As New OpenFileDialog
            With ofd
                ofd.AddExtension = True
                ofd.CheckPathExists = True
                ofd.CheckFileExists = True
                ofd.Filter = "Choose Image (*.PNG; *.JPG; *.GIF; *.JPEG)| *.PNG; *.JPG; *.GIF; *.JPEG | All Files (*.*)|*.*"
                ofd.FilterIndex = 4
                ofd.Multiselect = False
                If .ShowDialog = DialogResult.OK Then
                    Dim ms As New MemoryStream()
                    Dim bmpImage As New Bitmap(Image.FromFile(ofd.FileName))
                    bmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
                    Me.PictureBox1.Image = Image.FromStream(ms)
                    bmpImage.Dispose()
                End If
            End With
     
            If Me.PictureBox1.Image Is Nothing Then
                MessageBox.Show("Veuillez sélectionner une image avant d'enregistrer", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
                Exit Sub
            End If
     
            If IO.Directory.Exists(Application.StartupPath & "\FolderBackground\Background.Png") = False Then
                IO.Directory.CreateDirectory(Application.StartupPath & "\FolderBackground")
            End If
     
            Me.PictureBox1.Image.Save(Application.StartupPath & "\FolderBackground\" & "\" & "Background" + ".Png")
            MessageBox.Show("L'image a été enregistrée dans le dossier du projet et remplacée par l'image d'origine", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
     
        End Sub
    End Class
    Mon probleme c'est lorsque j'arret cette ligne dans ma Form1 Load
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.PictureBox1.Image = Image.FromFile(Application.StartupPath & "\FolderBackground\Background.Png")
    Tout marche d'une facon magnifique .. et l'image s'enregistrera et sera remplacee par l'ancienne l'image dans mon dossier ( FolderBackground )
    Et lorsque je laisse cette ligne fonctionne dans ma Form1 Load alors quand j'essaye par PictureBox1 Click de changer et choisir une autre image je recevrai cet erreur comme l'indique ce photo
    Nom : 1.png
Affichages : 218
Taille : 83,6 Ko
    Merci beaucoup d'avance pour l'aide
    Cordialement
    MADA

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour Mada Black,

    Juste un détail avant de réfléchir :
    Dans la ligne de l'erreur, est-il normal d'avoir 2 slash qui se suivent ?

    C'est peut-être là l'erreur.


  3. #3
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut
    Bonjour Maitre
    Très ravi de vous rencontrer ici
    J'ai change la ligne de cette façon .. mais toujours j'ai eu le même problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.PictureBox1.Image.Save(Application.StartupPath & "\FolderBackground\Background.Png")
    Cordialement
    MADA

  4. #4
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Je viens de faire quelques tests et j'ai peut-être quelques raisons de mauvais fonctionnements.

    Ici, tu vérifies l'existence d'un dossier mais tu passes un nom de fichier, il y a problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ' ***       If IO.Directory.Exists(Application.StartupPath & "\FolderBackground\Background.Png") = False Then
    ' ==> Je crois que la ligne suivante convient mieux :
            If IO.Directory.Exists(Application.StartupPath & "\FolderBackground") = False Then
                IO.Directory.CreateDirectory(Application.StartupPath & "\FolderBackground")
            End If
    A la ligne de l'erreur, tu tentes d'enregistrer un fichier de type png. Mais je pense qu'après les compliquées opérations des lignes With ofd ..., ton fichier soit devenu un jpg. Dans ce cas, ça devrait aller mieux en remplaçant la ligne de l'erreur par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            Me.PictureBox1.Image.Save(Application.StartupPath & "\FolderBackground\" & "Background" + ".jpg")
    Dis-moi si ceci t'avance ...

  5. #5
    Membre éclairé Avatar de MADA BLACK
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2015
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Décembre 2015
    Messages : 268
    Par défaut
    Merci maitre
    Merci beaucoup pour l'intention d'aide
    J'ai cherche un peu au net .. et j'ai trouve ce code qui fonctionne très bien sans aucune erreur
    Je l'ai place au Form1 Load
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       Using Fs As FileStream = New FileStream(Application.StartupPath & "\FolderBackground\Background.Png", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
                    Dim My_Image = Bitmap.FromStream(Fs)
                    Me.PictureBox1.Image = My_Image
                End Using
    Cordialement
    MADA

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sauver et remplacer une Image dans un Dossier
    Par JLuc01 dans le forum VB.NET
    Réponses: 2
    Dernier message: 01/04/2018, 22h27
  2. Copier un bout d'image dans une image de destination
    Par highlight dans le forum OpenCV
    Réponses: 7
    Dernier message: 16/04/2010, 09h44
  3. Comment remplacer une image dans un canvas.
    Par morchea dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 17/05/2009, 03h44
  4. Copier image dans dossier sur document word
    Par Neosquall2 dans le forum VBA Word
    Réponses: 3
    Dernier message: 18/02/2009, 06h41
  5. Réponses: 6
    Dernier message: 23/01/2008, 20h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo