-2
我想创建一个客户端服务器UDP。问题在于,服务器不能mopulit图片Delphi XE3 indy 10 UDP
type
TPacket = record
Image: TJPEGImage;
student: string;
end;
var
Image: TBitmap;
Desktop: TDesktop;
by: TBytes;
Packet: TPacket;
implementation
{$R *.dfm}
procedure TDesktop.Button1Click(Sender: TObject);
var
can: TCanvas;
begin
can := TCanvas.Create;
can.Handle := GetWindowDC(GetDesktopWindow);
ZeroMemory(by, 0);
Packet.Image := TJPEGImage.Create;
Image := TBitmap.Create;
Image.Width := Screen.Width;
Image.Height := Screen.Height;
Image.Canvas.CopyRect(
Rect(0, 0, Screen.Width, Screen.Height),
can,
Rect(0, 0, Screen.Width, Screen.Height)
);
Packet.Image.Assign(Image);
Packet.Image.CompressionQuality := 50;
Packet.student := 'student';
IdUDPClient1.BufferSize := SizeOf(packet);
SetLength(by, sizeof(packet));
Move(packet, by[0], sizeof(packet));
IdUDPClient1.SendBuffer('127.0.0.1', 5, by);
Image.Free;
Packet.Image.Free;
ReleaseDC(0, can.Handle);
end;
procedure TDesktop.FormShow(Sender: TObject);
begin
IdUDPServer1.BufferSize:=SizeOf(packet);
end;
procedure TDesktop.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: array of Byte; ABinding: TIdSocketHandle);
begin
Packet.Image := TJPEGImage.Create;
Move(AData[0], packet, sizeof(AData));
Caption := Packet.student;
Packet.Image.SaveToFile('E:\1.jpg');
Packet.Image.Free;
end;
请帮助我。我想创建一个客户端服务器UDP。问题在于服务器无法提供图片 – 2015-02-23 06:49:41
您不需要发表评论,重新说明您的问题已经说了什么。 – 2015-02-23 18:51:29