Oto kodzik na przesłanie obrazu. - który rzekomo ma działać a nie działa.......
Serwer:
w button1
screencanvas.Handle := GetWindowDC(GetDesktopWindow);
capture.Width:=Screen.Width;
Capture.Height:=Screen.Height;
Capture.Canvas.CopyRect(Rect(0,0,Screen.Width,Screen.Height),ScreenCanvas,Rect(0,0,Screen.Width,Screen.Height));
Capture.picture.Bitmap.SaveToStream(imgstream);
TransmitData(imgstream,sizeof(imgstream));
--
procedure Tform1.TransmitData(Buffer : Pointer; Size: Integer);
var
X : Integer;
begin
if serversocket1.Active then
begin
try
Serversocket1.Socket.connections[0].SendBuf(Buffer,Size);
except
end;
end;
end;
========
w kliencie
clientsocket ->
Onclientread
with Socket do begin
NewDataSize := ReceiveLength;
GetMem(NewData, NewDataSize);
try
ReceiveBuf(NewData</sup>, NewDataSize);
imgstream.WriteBuffer(NewData,0);
form2.tiSS.picture.bitmap.LoadFromStream(imgstream);
finally
Freemem(NewData);
end;
end;
========
Niektóre z tych w onclientread nie są potrzebne (wiem o tym).
I jakoś nie widzę obrazku (screenshota z 'capture' na moim 'tiss')
dodam ze capture i tiss to TImage