elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Como mandar un picturebox con winsock
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Como mandar un picturebox con winsock  (Leído 3,799 veces)
Xephiro

Desconectado Desconectado

Mensajes: 239



Ver Perfil WWW
Como mandar un picturebox con winsock
« en: 26 Diciembre 2006, 22:52 pm »

 :huh: :huh: :huh: Buenas XD aqui yo nuevamente con otra pregunta XD...

Como se puede mandar un picturebox por medio de winsock en un sistema cliente - servidor a otro picturebox ?


En línea

DrakoX

Desconectado Desconectado

Mensajes: 191



Ver Perfil
Re: Como mandar un picturebox con winsock
« Respuesta #1 en: 27 Diciembre 2006, 01:23 am »

Sinceramente,
no sabria como hacerlo,

pero si tienes acceso a la imagen,
podrias mandarlo como un archivo normal

salu2


En línea

Snort


Desconectado Desconectado

Mensajes: 338



Ver Perfil
Re: Como mandar un picturebox con winsock
« Respuesta #2 en: 27 Diciembre 2006, 11:01 am »

Tendrias qe guardar la imagen del picturebox en un archivo, y luego mandar el archivo, y al llegar, pon qe si la extension es jpg, bmp, o la qe sea, de imagen, la abra desde el otro picturebox
En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Como mandar un picturebox con winsock
« Respuesta #3 en: 27 Diciembre 2006, 21:34 pm »

tomando la idea de Snort creo que se podría hacer asi:

Código:
'Para enviar la imagen lo hago desde un command Button y la guardo en un archivo llamado "x.jpg"

Private Sub Command1_Click()
    Dim x As String, f As Long
    SavePicture Picture1.Picture, "c:\x.jpg"
   
    f = FreeFile
    Open "C:\x.jpg" For Binary Access Read As #f
    x = Space(LOF(f))
    Get #f, , x
    Close #f
   
    winsock1.SendData x
   
End Sub


'Para recibir lo hago con strdata y lo guardo en un archivo "x2.jpg" y luego cargo la imagen en el picture
Private Sub winsock2_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String, f As Long
   
    winsock2.GetData strData
    txtOutput.Text = txtOutput.Text & strData
       
    f = FreeFile
   
    Open "C:\x2.jpg" For Binary Access Write As #f
    Put #f, , txtOutput.Text
    Close #f
    On Local Error Resume Next
    Picture1.Picture = LoadPicture("c:\x2.jpg")
    On Local Error GoTo 0
   
End Sub
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Como mandar un picturebox con winsock
« Respuesta #4 en: 27 Diciembre 2006, 21:48 pm »

he estado probando el código y me surgierón 2 dudas:

1.- ¿Cómo se sabe cuando se ha terminado de enviar todos los datos?, (porque lo que hice fue que se fueran guardando en un archivo los datos como iban llegando) :o

2.- ¿Porque el nuevo archivo no es del mismo tamaño que el original?, casi siempre es mayor y no siempre es del mismo tamaño. :o

 :huh: :huh: alguién sabe  :huh: :huh:
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
<?BRoWLi?>

Desconectado Desconectado

Mensajes: 109


Kien mira por ti?


Ver Perfil WWW
Re: Como mandar un picturebox con winsock
« Respuesta #5 en: 27 Diciembre 2006, 21:54 pm »

Deberías enviar por lotes... por ejemplo de 1KB... Dim variable as tipo * 1024... entonces la diferencia se notaría menos (mientras menores sean los lotes mejor...) y para saber cuando acaba... envía primero el tamaño...
 
   nuevaVariable = FileLen "pathdelarchivo"
u..

open...
    nuevaVariable =  input(Lof(canal),
  • canal), si lo has avierto... y a continuación...

...Close

   ws.senddata nuevaVariable

x cierto nuevaVariable es Long...

y luego lo recibes en el dataarrival... if left(buffer, n... y lo igualas a cualquier ProgressBar.. pb.max = buffer...

y lo que te vaya llegando lo vas añadiendo como long a una nueva variable... o simplemente bytesrecibed en pb.value...

suerte...
« Última modificación: 27 Diciembre 2006, 21:59 pm por BRoWLi » En línea

Si TRaTaS D SeR JusTo SoLo Es JuSTo EL CoRaZóN, LoS DeMaS OrGaNoS TRaTaRaN De KiTaRLe La RaZoN - DobleV
Piratas.com.es
CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Como mandar un picturebox con winsock
« Respuesta #6 en: 27 Diciembre 2006, 22:48 pm »

BRoWLi gracias por tu comentario, modifique un poco el código que puse y quedo así, aver que opinan, porque es la 1a vez que le meto mano al winsock:

Para enviar
Código:

'Aqui le envio el tamaño de la imagen
Private Sub Command1_Click()
    Dim x As String, f As Long
   
    SavePicture Picture1.Picture, "c:\x.jpg"
   
    Tamaño = FileLen("c:\x.jpg")
   
    tcpServer.SendData Str(Tamaño)
   
End Sub

'Espero a que el cliente me conteste que recibio el tamaño de la imagen y ahora si le envio el archivo
Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String, f As Long, x As String
    tcpServer.GetData strData
    txtOutput.Text = strData
   
    If strData = "RECIBIDO" Then
        f = FreeFile
        Open "C:\x.jpg" For Binary Access Read As #f
        x = Space(LOF(f))
        Get #f, , x
        Close #f
        tcpServer.SendData x
       
        Kill "C:\x.jpg"
    End If
End Sub

Para recibir
Código:
Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String, f As Long
   
    tcpClient.GetData strData
    'si el max de progress bar es 1 le pongo el tamaño del archivo
    If ProgressBar1.Max = 1 Then
        ProgressBar1.Max = Val(strData)
        ProgressBar1.Value = 0
        tcpClient.SendData "RECIBIDO"
        t = 0
        Exit Sub
    End If
    'aqui voy recibiendo e incrementando el Progressbar
    txtOutput.Text = txtOutput.Text & strData
    ProgressBar1.Value = bytesTotal
    t = t + bytesTotal

    'Cuando ya lo tengo todo creo un archivo y lo cargo al picture
    If ProgressBar1.Max = t Then
       
        f = FreeFile
        Open "C:\x2.jpg" For Binary Access Write As #f
        Put #f, , txtOutput.Text
        Close #f
        Picture1.Picture = LoadPicture("c:\x2.jpg")
        ProgressBar1.Max = 1
        txtOutput.Text = ""
        Kill "C:\x2.jpg"
    End If
   
End Sub

En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
<?BRoWLi?>

Desconectado Desconectado

Mensajes: 109


Kien mira por ti?


Ver Perfil WWW
Re: Como mandar un picturebox con winsock
« Respuesta #7 en: 27 Diciembre 2006, 23:20 pm »

Muy buen code!

Aunque, no he vsto x ninguna parte lo del flujo de datos, ten encuenta que s el archivo es mayor al real (el que se te crea), el prograssbar no será exacto... aunque está muy bien el code... Un saludo!
En línea

Si TRaTaS D SeR JusTo SoLo Es JuSTo EL CoRaZóN, LoS DeMaS OrGaNoS TRaTaRaN De KiTaRLe La RaZoN - DobleV
Piratas.com.es
DrakoX

Desconectado Desconectado

Mensajes: 191



Ver Perfil
Re: Como mandar un picturebox con winsock
« Respuesta #8 en: 27 Diciembre 2006, 23:46 pm »

lindo code,
lo que seria interesante,
seria ver si existe aguna relación
en el incremento del tamaño,
probandolo con diferentes imagenes,
y de esa forma lograr que el progresbar sea mas preciso


salu2
En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: Como mandar un picturebox con winsock
« Respuesta #9 en: 27 Diciembre 2006, 23:47 pm »

Gracias, referente a lo del tamaño de la imagen creo que no me di a entender, lo que pasa esque la imagen que cargo al picture es de 3.5Kb y cuando le pongo SavePicture me crea un archivo de 23kb, creo que es porque lo manda como bmp, y lo tendría que pasar a jpg, pero bueno de eso ya se ha hablado mucho aqui, igual y me pongo a búscarle...
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como mover un PictureBox ????
.NET (C#, VB.NET, ASP)
BlackDiamond 1 4,900 Último mensaje 28 Marzo 2011, 23:36 pm
por Edu
chrome en picturebox mandar informacion o comandos
Programación Visual Basic
dmgdani 1 1,598 Último mensaje 17 Julio 2015, 21:51 pm
por 79137913
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines