Título: Como mandar un picturebox con winsock Publicado por: Xephiro 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 ? Título: Re: Como mandar un picturebox con winsock Publicado por: DrakoX 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 Título: Re: Como mandar un picturebox con winsock Publicado por: Snort 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
Título: Re: Como mandar un picturebox con winsock Publicado por: CeLaYa 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" Título: Re: Como mandar un picturebox con winsock Publicado por: CeLaYa 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: Título: Re: Como mandar un picturebox con winsock Publicado por: <?BRoWLi?> 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),
...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... Título: Re: Como mandar un picturebox con winsock Publicado por: CeLaYa 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:
Para recibir Código: Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long) Título: Re: Como mandar un picturebox con winsock Publicado por: <?BRoWLi?> 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! Título: Re: Como mandar un picturebox con winsock Publicado por: DrakoX 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 Título: Re: Como mandar un picturebox con winsock Publicado por: CeLaYa 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...
Título: Re: Como mandar un picturebox con winsock Publicado por: ~~ en 28 Diciembre 2006, 02:12 am Yo lo que siempre uso es un interruptor. Me explico :P
El cliente envia al server el tamaño del archivo, el server lo recibe y manda la orden de que se envie el contenido del archivo a la vez q activa el interruptor (variable booleana) para indicar q todos los datos recibidos a partir de ese momento iran a un string q cuando tenga el mismo tamaño que el del archivo deseado se descargara totalmente en el archivo. Aki un ejemplo: Server: Código: Private Sub Form_Load() Cliente: Código: Dim DataFile As String 1S4ludo Título: Re: Como mandar un picturebox con winsock Publicado por: CeLaYa en 28 Diciembre 2006, 02:47 am ya he encontrado el problema. El problema esque cuando uso la instrucción SavePicture me guarda el archivo como mapa de bits (bmp) y lo que hice es cambiar la imagen de BMP a JPG con una dll que me encontre. la Dll se llama GBITMAP.DLL
y se las dejo para quien la quiera: http://www.geocities.com/cero780814/GBITMAP.zip para usarla se hace de la siguiente manera: Código:
Título: Re: Como mandar un picturebox con winsock Publicado por: ~~ en 28 Diciembre 2006, 10:38 am Una mejor opcion q esa dll es el modul cJpeg q hace la captura de pantalla y la guarda en Jpg con la opcion de elegir tu mismo la calidad.
Ademas si usas el modulo no tienes q andar suiendo la dll... 1S4ludo Título: Re: Como mandar un picturebox con winsock Publicado por: Sancho.Mazorka en 30 Diciembre 2006, 05:03 am hay una forma que no hay necesidad de mandar ningun archivo pero es un lio barbaro xq requerimos uso de la API getpixel y luego que dibuje pixel x pixel el receptor, es un lio que me hice xq otra alternativa hasta que encontre unos codigos los modifique y empeze a mandar archivos!
Todo un lio.... Sancho.Mazorka :P Título: Re: Como mandar un picturebox con winsock Publicado por: <?BRoWLi?> en 30 Diciembre 2006, 12:24 pm Sip... es preferible mandar byte por byte que pixel por pixel... aunk en el primero aya que guardarlo en la PC
|