Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Enviar una captura de pantalla via UDP (https://www.clubdelphi.com/foros/showthread.php?t=82472)

Harom 10-03-2013 01:59:21

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;

Casimiro Noteví 10-03-2013 12:14:53

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 :)

Ñuño Martínez 11-03-2013 11:18:53

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