![]() |
Enviar una captura de pantalla via UDP
Saludos,
hace poco cree una pequeña aplicacion de chat en una red local utilizando los componentes indy udp, y se me ocurrio la ide de poder enviar una captura de pantalla hacia otra la otra maquina utilizando los componentes mencionados tengo el codigo para capturar una imagen y guardarla pero quisiera que me dieran alguna idea de como modificarlo para copiar la imagen en la otra pc. este es el codigo para capturar el escritorio y guardar la imagen en mi Disco uses ................ , jpeg; procedure capturar_area_pantalla_a_bitmap_temporal(ABitmap: TBitmap); var vDesktopDC: HDC; //contendrá el device context handle del escritorio actual begin vDesktopDC := GetWindowDC(GetDesktopWindow); try ABitmap.PixelFormat := pf24bit; ABitmap.Height := Screen.Height; ABitmap.Width := Screen.Width; BitBlt(ABitmap.Canvas.Handle, 0, 0, ABitmap.Width, ABitmap.Height, vDesktopDC, 0, 0, SRCCOPY); //es posible configurar el área a capturar finally ReleaseDC(GetDesktopWindow, vDesktopDC); end; end; procedure capturar_pantalla_a_disco_formato_JPG(const fichero:string); var vJpg: TJpegImage; vBmp: TBitmap; begin vBmp := TBitmap.Create; try capturar_area_pantalla_a_bitmap_temporal(vBmp); vJpg := TJpegImage.Create; try vJpg.Assign(vBmp); vJpg.CompressionQuality := 85; //calidad JPG 85% vJpg.SaveToFile(fichero); //guardar en formato JPG finally vJpg.Free; end; finally vBmp.Free; end; end; |
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)
Recuerda poner los tags al código fuente, ejemplo: ![]() Gracias :) |
Así, de forma rápida, se me ocurre que, una vez guardado el JPEG en disco, le envías el archivo tal cual y que el cliente lo abra. Debería ser simple.
|
| La franja horaria es GMT +2. Ahora son las 02:18:04. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi