Nie będę wnikał w samo przesyłanie ale postanowiłem zrobić
test z zapisaniem zrzutu z TBitamp do TMemoryStream i odczytanie
w drugim TBitmap z tego Streamu, niestety nie działa...
var
Can: TCanvas;
Bit, Bit2: TBitmap;
Ms: TMemoryStream;
begin
Can := TCanvas.Create;
Bit := TBitmap.Create;
Bit2 := TBitmap.Create;
Ms := TMemoryStream.Create;
Can.Handle := GetWindowDC(GetDesktopWindow);
Bit.Width := Screen.Width;
Bit.Height := Screen.Height;
Bit.Canvas.CopyRect(
Rect(0, 0, Screen.Width, Screen.Height),
Can,
Rect (0, 0, Screen.Width, Screen.Height)
);
Bit.SaveToStream(Ms);
Bit2.Width := Screen.Width;
Bit2.Height := Screen.Height;
Bit2.LoadFromStream(Ms);
Canvas.CopyRect(
Rect(0, 0, Screen.Width, Screen.Height),
Bit2.Canvas,
Rect (0, 0, Screen.Width, Screen.Height)
);
Can.Free;
Bit.Free;
Bit2.Free;
Ms.Free;
end;
Dlaczego ... ?