TÉLÉCHARGER UNE IMAGE D'UN SITE WEB ET L'AFFICHER DANS UN PICTUREBOX

cs_bigflo93 Messages postés 50 Date d'inscription mardi 21 octobre 2003 Statut Membre Dernière intervention 13 septembre 2008 - 13 sept. 2008 à 22:51
cs_boutemine Messages postés 78 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 21 mars 2018 - 14 sept. 2008 à 02:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47932-telecharger-une-image-d-un-site-web-et-l-afficher-dans-un-picturebox

cs_boutemine Messages postés 78 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 21 mars 2018 2
14 sept. 2008 à 02:14
Merci Gillardg,
Bon soirée
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
14 sept. 2008 à 02:03
merci pour l'explication
bonne soirée
cs_boutemine Messages postés 78 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 21 mars 2018 2
14 sept. 2008 à 01:56
Hollaaaaaa ,
Il s'agit d'une methode comme les autres, le principe ici est d'illustrer l'utilisation de la classe WebResponse et comment vérifier si un paquet HTTP contient une image.

je sais que l'utilisation de la classe WebClient est mieux, mais l'utilité de l'utilisation de la classe WebResponse vient dans le cas de communication avec une Camera IP, le serveur video inclus dans la cam repond par 2 methodes classiques:
- Une image simple, et la l'utilisation de la class WebClient suffit.
- Une suite d'images: MotionJPEG, et ici on doit traiter le paquet manuellement pour le filtrer et extraire les images, donc on doit vérifier si c'est une suite d'image ou non.

Voici un exemple d'une caméra ip libre sur le net.
http://195.243.185.195/axis-cgi/jpg/image.cgi?camera=1
http://195.243.185.195/axis-cgi/jpg/image.cgi?camera=2
http://195.243.185.195/axis-cgi/jpg/image.cgi?camera=3
http://195.243.185.195/axis-cgi/jpg/image.cgi?camera=4
(Airport de stuttgart
Ici l'utilisation de la class WebResponse peut aider pour identifier le type du paquet (ContentType = "multipart/x-mixed-replace; boundary=--myboundary"

Essayer maintenant avec le mJPEG
http://195.243.185.195/axis-cgi/mjpg/video.cgi?camera=1

Ici vous serez obliger de connaître l'architecture du stream de reponse pour le parser en suite d'images affichables sur un picture box.

Bon prog
BadoqueAlex Messages postés 129 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 6 juin 2009
14 sept. 2008 à 01:18
Et pourquoi ne pas utiliser les propriétés Asynchrones d'une picturebox ? ... Ralalala
Bon, même si afficher l'image n'est pas le but premier, il ne faut pas induire les gens dans l'erreur.
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
13 sept. 2008 à 23:18
un peu comme ceci : ( pas de moi )

Public Function GetOnlineImage(ByVal URL As String) As Image
Dim i As Image
Dim w As New System.Net.WebClient
Dim b() As Byte
Dim m As System.IO.MemoryStream

' download the Image Data in a Byte array
b = w.DownloadData(URL)

' create a memory stream from that Byte array
m = New System.IO.MemoryStream(b)
' now create an Image from Memory Stream
i = Image.FromStream(m)

' release the WebClient
w.Dispose()

' return image
Return i
End Function
cs_bigflo93 Messages postés 50 Date d'inscription mardi 21 octobre 2003 Statut Membre Dernière intervention 13 septembre 2008
13 sept. 2008 à 22:51
Bonjour,

Pourquoi ne pas plutôt utiliser la classe WebClient ?
Cette classe propose la méthode OpenRead qui renvoie un Stream, que l'on peut donc utiliser avec la pictureBox via la méthode static Image.FromStream.
Ca ne serait pas plus simple ? :)
Rejoignez-nous