PDA

Ver la Versión Completa : Enviar una captura de pantalla via UDP


Harom
10-03-2013, 01:59:21
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 Notevi
10-03-2013, 12:14:53
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php)?, gracias por tu colaboración :)

Recuerda poner los tags al código fuente, ejemplo:

http://www.clubdelphi.com/images/UtilizarTAGs.png

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.