过程如下:
客户端:截图->压缩成JPEG->保到TMemoryStream 中->传送至服务器
服务端:接收数据->保存到TMemoryStream中->显示在IMAGE中现在传输成功了,且服务端能收到完整的数据。就是不知该怎么显示。请赐教!
var
jpeg:TJPEGImage;
......athread.Connection.ReadStream(stream,buf.size,false);//接收数据至stream
//stream.savetofile('a.jpg');//如果加上这句确实有图片被保存。
jpeg.loadfromstream(stream);
image1.Picture.Bitmap.Assign(jpeg);
提示有 JPEG ERROR #42 错误!
客户端:截图->压缩成JPEG->保到TMemoryStream 中->传送至服务器
服务端:接收数据->保存到TMemoryStream中->显示在IMAGE中现在传输成功了,且服务端能收到完整的数据。就是不知该怎么显示。请赐教!
var
jpeg:TJPEGImage;
......athread.Connection.ReadStream(stream,buf.size,false);//接收数据至stream
//stream.savetofile('a.jpg');//如果加上这句确实有图片被保存。
jpeg.loadfromstream(stream);
image1.Picture.Bitmap.Assign(jpeg);
提示有 JPEG ERROR #42 错误!
压缩成zip吧
1024*768*24位的一屏,压缩后数据在20-70K之间,传输速度可大大加快
也就是athread.Connection.ReadStream(stream,buf.size,false);//接收数据至stream
//stream.savetofile('a.jpg');//如果加上这句确实有图片被保存。
stream.Position:=0;
jpeg.loadfromstream(stream);
image1.Picture.Bitmap.Assign(jpeg);
jpeg:= tjpegimage.create;
stream.position := 0; //stream就是你接收到的流
jpeg.loadfromstream(stream);
Image1.Picture.Graphic:=jpeg;
Image1.Picture.Graphic.Modified := true;
//图片就在image1里啦