cs_bolandfranck
Messages postés34Date d'inscriptionlundi 15 janvier 2007StatutMembreDernière intervention 8 octobre 2009
-
21 nov. 2007 à 22:03
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 2018
-
23 nov. 2007 à 11:00
Bonjour, mon probleme est tous simple cependant je ne m'en sort pas:
Je dispose d'un PictureBox : picturebox1 et je souhaite creer un tableau de byte (buffer) de l'image qu'il contient.
Nota : L'image n'existe pas en fichier même: il s'agit en faite de fonction que j'ai récupéré qui me permettent d'obtenir une image de se que film la webcam. (Le but etant d'envoyer cette image grace a une classe winsock à un autre poste)
Je pense pas que se soit super dificil mais sa suffit pour me bloquer actuellement.
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 21 nov. 2007 à 23:14
Bonsoir,
Le but est de créer un nouveau Bitmap pour recevoir les données de ta picturebox et les manipuler.
Puis mettre en mémoire le contenu binaire de l'image avec la méthode Save() de notre Bitmap crée précédemment.
Et une fois en mémoire on va récupérer se contenu dans un tableau de Byte.
cs_bolandfranck
Messages postés34Date d'inscriptionlundi 15 janvier 2007StatutMembreDernière intervention 8 octobre 2009 21 nov. 2007 à 23:38
Merci bcp sa marche du tonner meme si je suis bloqué plus loin mais bon je saurai que je peut compter sur le forum un grand merci c'est la premiere fois que l'on m'apporte une vrai réponse.
cs_bolandfranck
Messages postés34Date d'inscriptionlundi 15 janvier 2007StatutMembreDernière intervention 8 octobre 2009 21 nov. 2007 à 23:42
Un petit probleme supplementaire . sa semble ido mais comment faire l'inverse? une fois recus l'image je veut la recontruire a partir du tableau de byte?
cs_bolandfranck
Messages postés34Date d'inscriptionlundi 15 janvier 2007StatutMembreDernière intervention 8 octobre 2009 22 nov. 2007 à 00:07
Merci bien mais j'ai une erreur :Une erreur générique s'est produite dans GDI+.
mon code :
Dim b() As Byte = CType(sender, Crazyht.Net.Clients.ClientTCP).RecupDonneesOctets(True)
Dim ms As New System.IO.MemoryStream(b)
Dim img As Image = Image.FromStream(ms)
PictureBox1.Image = img
cs_bolandfranck
Messages postés34Date d'inscriptionlundi 15 janvier 2007StatutMembreDernière intervention 8 octobre 2009 22 nov. 2007 à 23:41
Bonjour, apres un echec avec le code d'autre developpeur, je tente ma
chance en essayant de faire mon propre code pour passer une image d'un
poste à un autre grace au socket.
Je sais que c'est pas bien compliqué mais je galère.
Voici mon code:
Logiciel emeteur
Public WithEvents Soket As New Sockets.TcpListener(200)
Public WithEvents OTimer As New Timer
Dim s As Socket
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Soket.Start()
s = Soket.AcceptSocket()
OTimer.Start()
's.Close()
End Sub
Private Sub OTimerTick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OTimer.Tick
Dim mstImage As MemoryStream = New MemoryStream
PictureBox1.Image.Save(mstImage, System.Drawing.Imaging.ImageFormat.Jpeg)
Dim bytImage As Byte() = mstImage.GetBuffer
Dim byteDateLine() As Byte = bytImage
s.Send(bytImage, bytImage.Length, SocketFlags.None)
End Sub
Logiciel recepteur
Public WithEvents Soket As New Sockets.TcpClient
Public WithEvents OTimer As New Timer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Soket.Connect("127.0.0.1", 200)
OTimer.Start()
End Sub
Private Sub OTimerTick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OTimer.Tick
Try
Dim networkStream As NetworkStream = Soket.GetStream()
Dim MyReceptBuffer As Byte = Soket.ReceiveBufferSize // l'erreur est
ICI et me dit "L'opération arithmétique a prvoqué un dépassement de
capacité"
Dim mstImage As MemoryStream = New MemoryStream(MyReceptBuffer)
Dim img As Image = Image.FromStream(mstImage)
PictureBox1.Image = img
Me.Refresh()
PictureBox1.Refresh()
Catch
End Try
End Sub
Voila merci de m'aider avant que je désespère d'arriver a faire quelque chose de mes bouts de code