Enregistrer les coordonnées d'une ligne dessinée dans un picturebox dans base de

gbillerty Messages postés 11 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 31 octobre 2011 - 26 oct. 2011 à 15:14
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 1 nov. 2011 à 08:16
Plusieurs jours de recherches infructueuses m'on emmener a poser cette question...

Je cherche comment enregistrer les coordonnées d'un dessin fait avec la souris sur un picturebox et le stocker dans un base de donnée Access.
L'objectif est de ne pas a voir a sauvegarder l'image mais seulement le dessin fait par dessus l'image.

Ensuite je dois re-créer ce dessin a partir des données enregistrées dans la bdd pour recréer le dessin sur l'image du picturebox...

merci de votre temps!

12 réponses

NHenry Messages postés 15156 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 septembre 2024 159
26 oct. 2011 à 18:52
Bonjour,

Il faudra que tu mémorise les données pendant que la personne dessine.
Car une analyse de l'image à postériori sera contre productive, je pense.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]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
---
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
26 oct. 2011 à 19:08
Salut

ce n'est pas simple du tout
qu'appelles tu les coordonnées d'un dessin ?
les coordonnées de chaque pixel ?
0
NHenry Messages postés 15156 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 septembre 2024 159
26 oct. 2011 à 19:15
Bonjour,

Non, mais quand la personne dessine avec la souris, tu surveilles bien sa souris ?
Dans ce cas, tu enregistre la position de départ, et la position d'arrivée.
Ensuite, tu mémorise cela dans un coin du programme et tu le réutilise ensuite.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]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
---
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
26 oct. 2011 à 19:43
Salut Henry

Non, mais quand la personne dessine avec la souris, tu surveilles bien sa souris ?


ton chat doit avoir faim ou bien il sait lire

pas trop compris
le dessin est constitué seulement de lignes
ax+b ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15156 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 septembre 2024 159
26 oct. 2011 à 20:33
Bonjour,

Pas ax+b, mais X1,Y1,X2,Y2, donc, si tu mémorises ces 2 coordonnées, tu as toutes les informations.

Sinon, montre ton code pour le dessin.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]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
---
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
26 oct. 2011 à 21:03
Bonsoir,
Pour mémoire (le titre) :
Enregistrer les coordonnées d'une ligne dessinée dans un picturebox dans base de donnée

Ce sera donc in fine, directement ou indirectement par l'intermédiaire du FrameWork (qu'on ne vienne pas me chipoter sur ce point, s'il vous plait, hein !) l'utilisation de la fonction LineTo de la librairie gdi32 de l'1Api de Windows et l'enregistrement de ses paramètres nXEnd et nYEnd (ou comme vous les baptiserez, mais en tout état de cause les 2ème et 3ème paramètres de ladite fonction), exprimés en pixels, le point de départ étant celui du currentx, currenty.

____________________
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
0
gbillerty Messages postés 11 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 31 octobre 2011
26 oct. 2011 à 21:22
voilà, en fait enregistrer la ligne ou les lignes. Je veux pouvoir re-créer ces lignes a partir d'un code dont les coordonnées sont prises dans la base de données.


J'utilise pour dessiner la source qui est disponible ici et qui se nomme:

vbfrance_DESSINER-DYNAMIQUEMENT-SUR-PICTUREBOX-LIKE-PAINTE

Donc je dessine une ou plusieurs lignes et je dois enregistrer chaque ligne

Ensuite il faut remettre ces lignes enregistrées a la bonne place sur le picturebox

je suis un peu dans le champ sur ce coup!
0
NHenry Messages postés 15156 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 29 septembre 2024 159
26 oct. 2011 à 22:01
Bonjour,

URL: http://www.vbfrance.com/codes/DESSINER-DYNAMIQUEMENT-SUR-PICTUREBOX-LIKE-PAINTE_53663.aspx

Il te suffit d'enregistrer les données du type de "elements".

As-tu essayé quelque chose ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]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
---
0
gbillerty Messages postés 11 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 31 octobre 2011
31 oct. 2011 à 16:36
bon, effectivement il me sera aisé de récupérer les valeurs de element et de les stocker...

Par contre, je n'ai pas pu par exemple dessiner une ligne a partir de coordonnées fixes. A partir d'un clic sur un bouton par exemple.

e.Graphics.DrawLine(Pens.Yellow, 254, 137, 305, 210)

j'ai alors l'erreur qui suit: Impossible d'effectuer un cast d'un objet de type 'System.Windows.Forms.MouseEventArgs' en type 'System.Windows.Forms.PaintEventArgs'.



voici mon code que j'ai insérer dans le projet de dessin dynamique:



Private Sub Dessin_Historique1(ByRef e As System.Windows.Forms.PaintEventArgs)
'S'il y a un objet dans l'historique alors on dessinne


e.Graphics.DrawLine(Pens.Yellow, 254, 137, 305, 210)
e.Graphics.DrawLine(Pens.Yellow, 265, 100, 205, 185)


End Sub




Private Sub Button2_Click(ByRef e As System.Windows.Forms.PaintEventArgs) Handles Button1.Click
Call Dessin_Historique1(e)
End Sub
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
31 oct. 2011 à 17:42
Salut
Où la ligne est tracée ?
si c'est dans la form

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
la tu écrire le code de la ligne ou tu appelles
la sub qui trace les lignes
End Sub


ex
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
   e.Graphics.DrawLine(Pens.Aquamarine, 10, 10, Me.Width, Me.Height)
    End Sub

ou
Private Sub Dessiner(ByVal gr As System.Drawing.Graphics)
        Dim mypen As New Pen(Color.Aquamarine, 2)
        gr.DrawLine(mypen, 10, 10, Me.Width, Me.Height)
    End Sub
    
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        Dessiner(e.Graphics)
    End Sub
0
gbillerty Messages postés 11 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 31 octobre 2011
31 oct. 2011 à 23:54
En fait, c'est dans un picturebox que je dessine... je vais essayer avec ceci et je repost
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
1 nov. 2011 à 08:16
Salut
si c'est dans un picturebox donc c'est l'évenement paint du picturebox
ex

Private Sub pic1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pic1.Paint
e.Graphics.DrawLine(Pens.Aquamarine, 10, 10, Me.Width, Me.Height)
    End Sub
ou
Private Sub pic1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pic1.Paint
 Dessiner(e.Graphics)

    End Sub
0
Rejoignez-nous