图片传输(30分)

  • 主题发起人 主题发起人 flove
  • 开始时间 开始时间
F

flove

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在两台机之间实现图片传输(流格式,分块),请问如何实现在一端转化为jpeg格式,另一端如何接收
放到image控件上。
 
看看这段代码,我用过,可以:
var
s,s1,m:string;
desk:tcanvas;
bitmap:tbitmap;
jpg:tjpegimage;
hdesk:thandle;
begin
s:=socket.ReceiveText;
if s='gets' then //file://服务器端发出申请
begin
try
m1:=tmemorystream.Create; //file://初始化流m1,在用sendstream(m1)发送流后,
//file://它将保留到socket对话结束,
//file://不能用手工free掉,否则会触发异常
bitmap:=tbitmap.Create;
jpg:=tjpegimage.Create;
desk:=tcanvas.Create; //file://以下代码为取得当前屏幕图象
desk.Handle:=getdc(hwnd_desktop);
with bitmap do
begin
width:=screen.Width;
height:=screen.Height;
canvas.CopyRect(canvas.cliprect,desk,desk.cliprect);
end;
jpg.Assign(bitmap); //file://将图象转成JPG格式
jpg.CompressionQuality:=30;
//m1.clear;
jpg.SaveToStream(m1); //file://将JPG图象写入流中
jpg.free;
m1.Position:=0;
s1:=inttostr(m1.size);
Socket.sendtext(s1); //file://发送图象大小
finally
bitmap.free;
desk.free;
end;
end;
.............
 
在另一端怎么接收啊!能不能给我发个例子,我对socket不是很了解!谢谢!!
feng0418@sohu.com
 
给我也发一个,谢谢!
dominolu@163.com
 
接受答案了.
 
后退
顶部