Probléme enregistrement aprés modification picturebox objet graphics [Résolu]

Signaler
Messages postés
17
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
29 février 2012
-
Messages postés
17
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
29 février 2012
-
Bonjour, je suis nouvelle sur ce forum, mais j'ai tout de même chercher une réponses a mon probléme mais je n'ai pas trouvée... C'est pourquoi je vous demande de l'aide...

Je dois développer un petit programme pour faire du drag ans drop.
Pour cela je possède dans ma form deux picutrebox, le premier contient l'image à déplacer (picturebox1), et le deuxième l'image de base (picturebox2). Je m'expliques : je dois "empiler" et rajouter une image sur mon image de base.
J'ai réussi jusqu'à présent à faire ceci...
je fais glisser mon image de picturebox1 sur l'image du picturebox2, mes images se superpositionne parfaitement (visuellement).
Le probléme est que quand je veux enregistrer ma nouvelle image de picturebox2 (les deux images empilé)
celle si ne contient visiblement que l'image de base, et pas l'image qui a été rajouter.
je me retrouves avec mon image de base, sans l'image superposé...

J'ai beau chercher je ne trouves pas comment faire pour enregistrer mon image avec ses modification graphics...

Merci d'avance...

voici un bout de mon code :

   Private Sub PictureBox2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragDrop


        'dans levenement drag drop du control d'arriver
        'on attribut l'image dans le picture box

        Dim picbox As PictureBox = CType(sender, PictureBox)

        Dim g As Graphics

        g = picbox.CreateGraphics()

        g.DrawImage(CType(e.Data.GetData(DataFormats.Bitmap), Image), New Point(0, 0))


        'si la touche CTRL n'ai pas enfonsé alors on supprime l'image source
        If Not e.KeyState = 8 Then
            PictureBox1.Image = Nothing

        End If

    End Sub

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


        PictureBox2.Image.Save("C:\Users\Audrey\Desktop\nom_fichier.Jpeg")


    End Sub

12 réponses

Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut

peut etre sans rapport
tu peux glisser une picturebox sans le dragdrop
Private lastmouselocation As New Point
 Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)Handles PictureBox1.MouseMove
Dim pt As New Point
        pt = e.Location
        If e.Button = Windows.Forms.MouseButtons.Left Then
            pt.X = (pt.X + DirectCast(sender, PictureBox).Left) - lastmouselocation.X
            pt.Y = (pt.Y + DirectCast(sender, PictureBox).Top) - lastmouselocation.Y
            DirectCast(sender, PictureBox).Location = pt
            DirectCast(sender, PictureBox).BringToFront()
        End If
    End Sub
    Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)PictureBox1.MouseDown
        lastmouselocation = e.Location
    End Sub
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
la un lien qui peut t'aider
ici

la un code que je viens d'écrire
supperpose deux images l'un en dessous de l'autre
débutant comme toi j'apprends aussi
Private Sub JoinImage()
        Try
            Dim imageproduct As Bitmap = Image.FromFile(Application.StartupPath & "\bert.jpg")
            Dim imageproduct2 As Bitmap = Image.FromFile(Application.StartupPath & "\ernest.jpg")
            Dim size1, size2, sizefinal As New Size
            size1 = imageproduct.Size
            size2 = imageproduct2.Size

            sizefinal.Height = size1.Height + size1.Height
            sizefinal.Width = size1.Width
            Dim imgFinal As New Bitmap(sizefinal.Width, sizefinal.Height)
            Dim gfx As Graphics = Graphics.FromImage(imgFinal)
            gfx.Clear(Color.White)
            gfx.DrawImage(imageproduct, 0, 0, New Rectangle(0, 0, size1.Width, size1.Height), GraphicsUnit.Pixel)
            gfx.DrawImage(imageproduct2, New Point(0, size1.Height))
            imgFinal.Save(Application.StartupPath & "\twoimage.jpg", ImageFormat.Jpeg)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
 End Sub
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
230
Bonjour,
si cela est du VB6 (la présente section), alors moi, je suis le Pape.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
17
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
29 février 2012

Je me suis trompée... désolée...

Vous n'avais pas une idée pour solutionner mon probléme ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
230
Vous n'avais pas une idée pour solutionner mon probléme ?

Ben non, puisque je fais du VB6 et non du VB.Net, moi


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
17
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
29 février 2012

Okay... merci quand même
Messages postés
17
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
29 février 2012

Bonjour, merci pour ta réponse shayW
J'ai tester le code que tu m'a envoyer il est trés intérésant pour ce que je voudrais faire. (Ajouter des images sur une image de base)
Mais j'ai toujours le même probléme.

Que ce soit avec ma solution ou la tienne, lorsque je veux enregister le contenue de ma picturebox2
j'obtient seulement limage de base... mon image mise dans la picturebox2

Ce que je voudrais c'est pouvoir enregistrer mon image (de base) avec ses modifications... c'est à dire avec les images rajouter par dessus...


Help me ...
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut

Oui je sais

je n'ai pas compris ta demande

tu as un picturebox avec un image qui est fixe
(le picturebox)
et une image que tu glisse et la positionne dans la picturebox de base
tu dis
Ajouter des images sur une image de base

cela veut dire que tu as deux images ?
ou
tu veux fusionner les deux images ?
Messages postés
17
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
29 février 2012

oui j'ai deux images

Je veux ajouter une image de taille différente (plus petite) sur mon image de base.

J'ai enfaite une image (image de base) sur lequel je veux rajouter une image de code barre.

je voudrais pouvoir enregistrer cette nouvelle image avec ses modification. (image de base + code barre)

j'espere que j'arrive a me faire comprendre...
Messages postés
17
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
29 février 2012

Bonjour, désolé ShayW, j'avais bien vu ton message au boulot, mais j'ai oublié d'y répondre.

J'ai étudié ton lien et le code que tu m'as envoyé.

J'ai comme toi réussi à mettre une image par dessus l'autre.

Mais maintenant je voudrais possitionner mon image la ou je clique, a l'endroit ou et positionner mon curseur de souris sur ma deuxiéme image.

Si tu sais comment faire ... Merci d'avance.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
230
Ce qui, Naudrey43, se traduit par :
"le présent problème est donc résolu et je dois donc cliquer sur le tag "réponse acceptée" !

"J'en ai un autre, que j'ai exposé dans une autre discussion"

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
17
Date d'inscription
lundi 6 décembre 2010
Statut
Membre
Dernière intervention
29 février 2012

bonjour ucfoutu !

J'ai justement ouvert une autre discution, pour résoudre mon nouveau probléme.ici

Je souhaité simplement répondre à ShayW.

Cette discution est clause.

Merci pour votre aide.