Drag and drop image internet

Soyez le premier à donner votre avis sur cette source.

Vue 10 783 fois - Téléchargée 860 fois

Description

J'ai eu du mal a le faire donc je le met car cela peut etre utile pour mettre des images dans une base de données.
On fait glisser une image du navigateur sur le textbox et l'image se met dans le picturebox.
En doublecliquant sur la picturebox on peut enregistrer l'image ou l'on veut.
Je m'en sert pour ma base de donnée de bande dessinée.
Voilà le textbox permet juste de voir se que l'on récupère lors du drag et pour comprendre comment on isole l'adresse de l'image.

Source / Exemple :


tout est dans le zip, j'ai trouver de l'aide sur un autre site mais je le poste ici car je n'ai rien trouvé de similaire sur vbfrance et l'aide est la meilleure des forces pour les développeurs.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
27 mars 2009

Excellent!

Un grand merci!
Surtout pour avoir pris la peine de commenter ton code.
Messages postés
129
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
23 mai 2009

Bonjour et merci pour la note,
si tu veux faire directement le drop sur la picturebox il faut faire ainsi.
tu autorise le drop dans le load de la form

PictureBox1.AllowDrop = True

et ensuite c'est comme le textbox

Private Sub PictureBox1_DragEnter1(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragEnter
e.Effect = DragDropEffects.Copy
End Sub

Try

' recupere la donnée
Dim strFiles
'Variable qui contiendra un tableau contenant les fichiers

'on recupere le drop dans le tableau
strFiles = e.Data.GetData(DataFormats.FileDrop)
strFiles = e.Data.GetData(DataFormats.Html)

' on recupere le début de l'adresse de l'image
Dim débutadresse = Split(strFiles, "src=")
' ensuite on ne prend que la source
' prend le guillemet
Dim guillemet = Chr(34)
Dim adresse = Split(débutadresse(1), guillemet)
' prend le nom de l'image pour l'enregistrement
Dim imaged = Split(adresse(1), "/")
Nomdelimage = imaged(UBound(imaged))
PictureBox1.Image = RecupFichierImageInternet(adresse(1))
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub

Voilà bonne prog.
Messages postés
2
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
27 mars 2009

Bonsoir Alosamoelle,

Merci pour ton code.
Le principe correspond à ce que je recherche mais j'ai quand même un petit souci:
J'aimerais pouvoir faire le drop directement dans la picturebox. Le problème est que ce contrôle n'a pas la propriété Allowdrop.
Mes compétences en matière de programmation étant assez limitées, j'ai tenté (sans succès) quelques bidouillages à deux balles comme superposer la picturebox et la textbox et mettre celle-ci transparente afin de ne laisser apparaitre que l'image... (prière de ne pas rigoler).
Bref, aurais-tu quelque suggestion ?
Messages postés
129
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
23 mai 2009

Merci Kite37, tu as raison je suis un peu fainéant pour mes variables et ce n'est pas une bonne chose, promis je vais essayer de faire attention.
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018

Hum ce code est vraiment intéressant, et il ne me semble pas en avoir vu de pareil sur le site :)

Seul bémol : pense a bien typer toute tes variables, pour une meilleures optimisation du code et pour une meilleure compréhension ^^

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.